2

我发现了类似的问题并遵循了答案,但我没有运气。我正在尝试使用 Sinatra 为我的一些页面提供 CSS 文件,但它不适用于所有页面。

我有一个与“app.rb”处于同一级别的公用文件夹。公共文件夹结构如下:

public
  -css
  -images
  -js

在我的 app.rb 中,我只有这样一行:

set :public_folder, "public"

在我的布局中,我使用:

href="/public/css/main.css"

它适用于某些页面,例如我的索引和关于页面,但是一旦我深入了解我的视图,它就不起作用了。如果我手动设置路线,我可以让它工作,但我不想最终为我添加的所有未来视图这样做。这就是我要让它工作的方法:

change to href="/css/main.css"

get "/css/main.css" do
  redirect "/main.css"
end
get "/posts/css/main.css" do
  redirect "/css/main.css"
end

所有视图都使用相同的布局和相同的 css 文件 url,当我深入查看视图时,文件夹被添加到 css url 的开头,这就是我为它添加路由的原因。有没有解决的办法?对此还是陌生的:)

谢谢。

4

1 回答 1

3

一方面,我认为您的布局文件中不需要“public”。

href="/css/main.css"

其次,我推荐使用 scss/sass 进行样式设置。您只需将 .scss 文件保存在主 /views 目录中。

app.rb
- views
 - index.haml/html
 - style.scss

在您的 .rb 应用程序文件中:

get '/style.css' do
  scss :style
end

那么,在你看来:

href="/style.css"

希望有帮助!

于 2013-08-14T16:42:45.183 回答