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是 - 我不知道为什么它开始工作,我在勘误网页上找到了我正在阅读的书的解决方案,有人只是提供了这个解决方案。 如果有人能够解释为什么这条线有所帮助,我会很感激。
答案 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
或任何页面方向,如果无法重新加载服务器。
所有推荐都至少对我有用,试试吧!