application.css不包括其他样式定义

时间:2011-11-17 04:25:05

标签: ruby-on-rails

Ruby 1.9.2,Rails 3.1

以下是我对如何应用布局的理解:

一个。应用。 html.erb具有以下帮助方法 -

`<%= stylesheet_link_tag    "application" %> `

它基本上说:“使用application.css文件并执行那里提到的任何内容。

湾Application.css文件有一个指令,用于将所有样式表文件包含在它所在的目录中。

= `require_tree` .

(我已将上面的行添加到application.css的底部)


问题是文件products.css.scss永远不会应用于页面。当我使用chrome中的开发人员工具时,它显示了scaffolds.css应用于页面。 (想要附加图片,但我不能,因为它仅限于新用户)

我一直在与这件事作斗争并且无法弄明白。 我需要找到一种方法让application.css做它应该做的事情,使用同一目录中的样式定义并且它没有发生。

更新

这是解决方案。 在index.htm.erb中有一个块

<table class>
<% @products.each do |product| %>
  <tr class="<%= cycle('list_line_odd', 'list_line_even') %>">

我把它改成了(见第一行)

<table class = "products">
<% @products.each do |product| %>
  <tr class="<%= cycle('list_line_odd', 'list_line_even') %>">

但是ting是 - 我不知道为什么它开始工作,我在勘误网页上找到了我正在阅读的书的解决方案,有人只是提供了这个解决方案。 如果有人能够解释为什么这条线有所帮助,我会很感激。

5 个答案:

答案 0 :(得分:2)

要包含的指令是样式表应该仅在注释中。

删除注释中没有的=require_tree.,并确保注释指令的格式设置为相同的间距。

您不必从默认值中更改它。

答案 1 :(得分:1)

答案是,如果你看一下product.css.scss就必须有一个表作为“产品”的类。

所有css指令都嵌套在.products {}。

因此,如果您没有将类设置为“products”的表,那么就没有css可以应用。

答案 2 :(得分:1)

提供的解决方案远远超出你应该相信的程度(

脚手架没有使用正确的类标记您的table-tag,您必须手动编辑代码以为其插入“products”类:

<table class="products">

答案 3 :(得分:0)

*= require_tree . 

应该包含当前目录中的所有样式表。但为什么你在两个地方都有它。尝试从最后一行删除require树。

答案 4 :(得分:0)

首先,代码示例中的行<table class=>不完整,必须为<table class="products">。 其次,文件= require_tree中的行application.css对我来说不是必需的,所以请注释。 第三,重新加载localhost:3000/products或任何页面方向,如果无法重新加载服务器。

所有推荐都至少对我有用,试试吧!