引用样式表
Referencing stylesheets
我是 Sinatra 的新手,正在尝试从 ERB 文件中引用样式表。我尝试了“Loading Stylesheets in Sinatra”中使用的方法,但样式表仍未加载。
我的 HTML 在 views/index.rb 中,样式表是 views/styles/main.css。控制器逻辑在 app.rb.
当我在本地服务器上加载时,HTML 本身正在显示。
文件夹结构为:
|-- app.rb
|-- config.ru
|-- Gemfile
|-- Gemfile.lock
|-- lib
|-- spec
| |-- spec_helper.rb
|-- views
| |-- index.erb
| |-- styles
| | |-- main.css
app.rb 是:
get '/' do
erb :index
end
index.erb 无效:
<link href="<%= url('views/styles/main.css') %>" rel="stylesheet" type="text/css" />
<link href="<%= url('/main.css') %>" rel="stylesheet" type="text/css" />
我的回购是:https://github.com/natstar93/Thermostat-day3
谁能帮我弄清楚如何引用样式表?
Static assets like stylesheets should go in a public
directory,而不是 views
,后者适用于为每个请求生成不同输出的模板。
您应该在 views
旁边创建一个名为 public
的目录,并将 styles
目录复制到其中。那么样式表的 url 将是 /styles/main.css
:
<link href="<%= url('/styles/main.css') %>" rel="stylesheet" type="text/css" />
您可能还需要启用静态资产服务(文档建议它在模块化应用程序中默认禁用,但实际上它似乎取决于 public
目录是否存在 – 它不会造成伤害明确)。将此添加到您的应用程序 class 以启用此功能:
enable :static
我是 Sinatra 的新手,正在尝试从 ERB 文件中引用样式表。我尝试了“Loading Stylesheets in Sinatra”中使用的方法,但样式表仍未加载。
我的 HTML 在 views/index.rb 中,样式表是 views/styles/main.css。控制器逻辑在 app.rb.
当我在本地服务器上加载时,HTML 本身正在显示。
文件夹结构为:
|-- app.rb
|-- config.ru
|-- Gemfile
|-- Gemfile.lock
|-- lib
|-- spec
| |-- spec_helper.rb
|-- views
| |-- index.erb
| |-- styles
| | |-- main.css
app.rb 是:
get '/' do
erb :index
end
index.erb 无效:
<link href="<%= url('views/styles/main.css') %>" rel="stylesheet" type="text/css" />
<link href="<%= url('/main.css') %>" rel="stylesheet" type="text/css" />
我的回购是:https://github.com/natstar93/Thermostat-day3
谁能帮我弄清楚如何引用样式表?
Static assets like stylesheets should go in a public
directory,而不是 views
,后者适用于为每个请求生成不同输出的模板。
您应该在 views
旁边创建一个名为 public
的目录,并将 styles
目录复制到其中。那么样式表的 url 将是 /styles/main.css
:
<link href="<%= url('/styles/main.css') %>" rel="stylesheet" type="text/css" />
您可能还需要启用静态资产服务(文档建议它在模块化应用程序中默认禁用,但实际上它似乎取决于 public
目录是否存在 – 它不会造成伤害明确)。将此添加到您的应用程序 class 以启用此功能:
enable :static