我已经使用以下代码将 application.html.erb 设置为链接到样式表
<%= stylesheet_link_tag 'stylesheets/style', :media => 'screen' %>
但是,当我在浏览器窗口中加载本地主机时,它会打印此代码
<link href="/assets/stylesheets/style.css" media="screen" rel="stylesheet" type="text/css" />
当我直接查看文件时显示此错误
路由错误
没有路由匹配 [GET] "/assets/stylesheets/style.css"
我读过一些其他问题,默认情况下 Rails 在公共(public)/样式表中查找,所以我不确定为什么它在 Assets 中查找?
我还尝试将 css 文件移动到 assets 目录以查看它是否可以工作,但是它仍然无法工作并给出相同的路由错误。
在这上面坚持了几天,它真的让我费尽心思,所以感谢你能给我的任何帮助。
提前致谢
最佳答案
Rails 3 带有新的 Assets 管理,这实际上是最大的优势之一。
有关其工作原理的指南是 here
因此,如果您的 Assets /样式表中有 application.css 文件,您只需将 style.css 放到 Assets /样式表目录中在 style.css.scss 中重命名
在你看来就离开:
<%= stylesheet_link_tag "application", media: 'screen' %>
Rails 应用程序将通过 sprockets 加载它。
关于ruby-on-rails - Rails 教程 3,stylesheet_link_tag 生成不正确的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876958/