stylesheet_link_tag不起作用,目录错误

时间:2013-01-14 15:51:43

标签: ruby-on-rails

我正在研究Ruby on Rails教程中的样式表,正如它所说,我添加了

<%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %> 
<%= stylesheet_link_tag 'blueprint/print', :media => 'print' %>

应该从public / stylesheets / blueprint文件夹中读取screen.css和print.css。

然而,当我打开浏览器时,样式没有改变,所以我检查了html代码并显示

<link type="text/css" rel="stylesheet" media="screen" href="/assets/blueprint/screen.css></link>

谁能告诉我为什么路线错了?它不应该是public / stylesheets而不是/ assets / somewhere吗?

1 个答案:

答案 0 :(得分:1)

正如house9在评论中所说,请查看http://guides.rubyonrails.org/asset_pipeline.html 10分钟阅读。

---回答评论中的问题--- 它将首先检查/ public文件夹,然后它将尝试查找assets文件夹。此行为对开发有效。

在生产中,所有资产都将被编译并公开(默认)。

因此,请确保您没有公开所需名称的文件并将其放在资产上。 您的application.css应该有sprockets符号:*= require_tree .这将确保此文件夹中的所有有效文件都包含在css中。

如果您没有使用链轮,请务必在application.css上导入所需的文件