如何在Rails 3.1中加载样式表

3
在我的Rails 3应用程序中,我已经将样式表添加到了 <head> 标签中。
  /app/assets/stylesheets/   instead of /public/stylesheets

但是当我把路径设置为时,样式表文件没有被加载。

  <link href="/app/assets/stylesheets/home.css" rel="stylesheet" type="text/css">

我需要配置一些东西才能加载这些样式表吗?
请帮帮我。
3个回答

3

不要像这样放置链接来引用您的样式表,而是使用stylesheet_link_tag文档)ActionView方法获取它们。资产管道实际上将使URL与您所做的有些不同。


2

在你的application.css文件的顶部应该包含以下内容:

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

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

可能不是帖子作者想要的。个人而言,我不喜欢这种方式,因为我有特定于控制器的样式表。 - Romain
你会怎么做,Romain?加载控制器特定的样式表。 - Luis D Urraca

1
在Rails 3.1中,Rails使用所谓的资产管道为您加载资产,包括CSS。因此,想法不仅仅是将样式表等移动到另一个文件夹,而是将它们放在那里,并由框架组装/编译它们。
具体来说,要使您的设置工作,您需要使用资产管道(特别是Sprockets)所需的几个gems。
如果您正在从早期版本升级到Rails 3.1,我发现这两篇文章很有帮助:http://ridingrails.net/updating-rails-31/ http://railscasts.com/episodes/282-upgrading-to-rails-3-1?view=asciicast
如果您从头开始创建了一个Rails 3.1应用程序,则不需要做任何事情:application.css已经使用= require_tree .命令要求app/assets/stylesheets目录中的所有文件,并且应该已经在布局中包含application样式表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接