如何在rails 3.1中加载样式表

时间:2011-11-25 15:03:31

标签: ruby-on-rails css ruby-on-rails-3.1 styles

在我的rails 3应用程序中,我添加了样式表

  /app/assets/stylesheets/   instead of /public/stylesheets

但是当我将路径指定为

时,未加载样式表文件
  <link href="/app/assets/stylesheets/home.css" rel="stylesheet" type="text/css">

我是否需要配置一些内容来加载此样式表

请帮忙。

3 个答案:

答案 0 :(得分:3)

不要把这样的链接引用你的样式表,而是使用stylesheet_link_tagdoc)ActionView方法来获取它们。资产管道实际上最终会让URL有点与你的不同。

答案 1 :(得分:2)

在你的application.css的顶部应该是:

/* ...
*= require_self
*= require_tree .
*/

这将包括来自/app/assets/stylesheets/的所有css文件。

答案 2 :(得分:1)

在Rails 3.1中,Rails使用所谓的资产管道为您加载资产,包括CSS。因此,我们的想法不仅仅是将样式表等移到另一个文件夹中,而是将它们放在那里并让它们由框架组装/编译。

具体来说,为了使您的设置正常工作,您需要使用资产管道所需的几个宝石(特别是Sprockets)。

如果您从早期版本升级到Rails 3.1,我发现这两篇文章很有用:http://ridingrails.net/updating-rails-31/ http://railscasts.com/episodes/282-upgrading-to-rails-3-1?视图= asciicast

如果您从头开始创建Rails 3.1应用程序,则不需要执行任何操作:application.css已经要求使用= require_tree .命令在app / assets / stylesheets目录中的所有文件,并且application样式表应该已经包含在布局中。