Sinatra 不加载资产

Sinatra doesn't load assets

我有一个 sinatra 登陆页面。服务器通过在根文件夹中执行 index.rb 启动。

例如:

  get '/en' do
    I18n.locale = 'en'
    erb :index, locals: {langswitch: "/ru", current_locale: "en"}
  end

呈现 index.erb 并且运行良好。

此页面有:

<link rel="stylesheet" type="text/css" href="index.css">

如果我打开这个 link,它指向 http://0.0.0.0:9292/index.css,检索 css 文件并按预期呈现页面。

不过,还有

  get '/agreement/en' do
    I18n.locale = 'en'
    erb :agreement, locals: {langswitch: "/ru", current_locale: "en"}
  end

如果我从此页面访问同一个 link,它会导致 http://0.0.0.0:9292/agreement/bootstrap.css,而不是 http://0.0.0.0:9292/index.css,并且无法检索文件。

与我所有的图像一样,其他 css 文件。

首先,您需要将所有资产放入 public 文件夹中。那么你需要修改 <link rel="stylesheet" type="text/css" href="index.css"><link rel="stylesheet" type="text/css" href="/index.css">。 所以你需要做的就是把 / 放在 index.css

之前