Rails 5: CSS 不会 link 到 html

Rails 5: CSS will not link to html

我是 rails 的新手,正在尝试 link main.css.scss 到 views/main 中的 index.html.erb 文件。

我的 css 文件位于 app/assets/stylesheets。这是默认的,我什么都没改。


所以在我的 index.html.erb 文件中添加了以下内容:

<%= stylesheet_link_tag "main" %>

这引发了一个错误,建议我在 "main" 的末尾包含“.css”。我在 main 的末尾添加了“.css”和“.css.scss”。主页加载,但没有 css 文件。

在 rails 5 中 link css 的正确方法是什么?

阅读 api 文档 here. 它将帮助您了解如何 link css 在 rails.

另请参阅 Samuel's 答案。他解释的真好。

很简单。如果您不想使用默认 application.cssapplication.js,则创建新文件,例如您的情况 main:

app/assets/stylesheets/main.scss
app/assets/javascripts/main.js

然后在您的布局中包含这些文件:

<!DOCTYPE html>
<html>
  <head>
    <title>Foobar</title>
    <%= stylesheet_link_tag    'main', media: 'all', 'data-turbolinks-track' => true %>
    <%= javascript_include_tag 'main', 'data-turbolinks-track' => true %>
    <%= csrf_meta_tags %>
  </head>

并将这些文件添加到 assets.rb:

Rails.application.config.assets.precompile += %w( main.scss main.js)

并重启服务器。