2013-02-25 58 views
0

我这个苦苦挣扎了好几个小时,尝试了所有的解决方案,我发现,和没有运气。不过,我第一次尝试从书中运行Depot示例,却没有应用任何CSS。CSS样式 - 车厂从敏捷Web开发使用Rails

我敢肯定SCSS编译,铬表明我application.css,scaffolds.css和products.css加载。我试图创建其他css文件 - 不SCSS - 但只是局部的运气,只有一些造型的应用 - 休息与用户代理样式匹配,并继承了一些scaffolds.css性质的 - 但不是重要的。

我加载所有的CSS在application.html.erb:

<%= stylesheet_link_tag "application", :media => "all" %> 

并在同一个文件中我声明了类:从产品/ index.html的

<body class="<%= controller.controller_name %>"> 

表。 RB是没有什么不寻常:

<table> 

<% @products.each do |product| %> 
    <tr class="<%= cycle('list_line_odd', 'list_line_even') %>"> 
    <td><%= image_tag(product.image_url, class: 'list_image') %></td> 
    <td class="list_description"> 
     <dl> 
     <dt><%= product.title %></dt> 
     <dd><%= truncate(strip_tags(product.description), lenght: 80) %></dd> 
     </dl> 
    </td> 
    <td class="list_actions"> 
     <%= link_to 'Show', product %><br/> 
     <%= link_to 'Edit', edit_product_path(product) %><br/> 
     <%= link_to 'Delete', product, confirm: 'Are you sure?', method: :delete %> 
    </td> 
    </tr> 
<% end %> 
</table> 

和products.scss(我试图从.css.scss重命名,但没有改变)

.products { 

    ​ table { 
     border-collapse: collapse; 
     } 
     ​ 
     table tr td { 
     padding:5px; 
     vertical-align:top; 
     } 
     ​ 
     .list_image { 
     width:60px; 
     height:70px; 
     } 
     ​ 
     .list_description { 
     width:60%; 
     ​ 
     dl { 
      margin:0; 
     } 
     ​ 
     dt { 
      color: #244; 
      font-weight:bold; 
      font-size:larger; 
     } 

     dd { 
      margin:0; 
     } 
     } 

    ​ .list_actions { 
     font-size:x-small; 
     text-align:right; 
     padding-left:1em; 
     } 

    ​ .list_line_even { 
     background: #e0f8f8; 
     } 

    ​ .list_line_odd { 
     background: #f8b0f8; 
     } 
} 

和我application.css看起来是这样的:

/* 
*= require_self 
*= require_tree . 
*/ 

而显然,事情是on Rails的3.2.12和Ruby 1.9.3运行wrong.I'm。 Ruby on Rails对我来说是新的,但我强烈地渴望学习一些东西(并且我有一些时间学习 - 可能在未来几个月内不会发生),但当我像这样卡住时,我失去了时间,并且什么都不学习 - 或几乎没有 - 新:)

如果有人回答我碰巧没有找到合适的答案,大的道歉,只是点我在正确的方向,给推进器踢。

回答

1

我已经开始努力了。 CSS验证表明,有错误:

遇到: “\ u200b”(8203),后: “”

所以现在我把手工代码,字符一个字符后无复制/从书中粘贴。它看起来像它的工作移除TMP /缓存和公共/ application.css

0

应该products.css.scss不products.scss下/应用/资产/样式表/

当我看着你的示例表把一个div标签带有class =“产品”在表格上方。

<div class="products"> 
    <table> 
    </table> 
</div> 
+0

据我所知,这是如果文件被命名的CSS或.css.scss没有区别 - 但当然,试着用两。 另外 - 如您所见,类“产品”用于标签。此外,我试图做到这一点没有嵌套造型 - 只要所有元素的CSS无论父母标记,它仍然无法正常工作。 – 2013-02-25 15:51:40

0

表需要申报后级,所以在索引文件应该是

<table class ="products">

无论是书还是下载文件有这种方式,但通过勘误挖掘得出的答案。 https://pragprog.com/titles/rails4/errata

+0

将生成的选择器是'.products table',将该类添加到表元素中将不起作用(另外,有人已经在此之前给出了该答案)。 – cimmanon 2015-02-23 13:30:09

+0

它在这里工作。没有它,至少在书中的这一点上是不行的。因此,通过本书工作并发现这个问题的任何人都会感到沮丧。我在勘误表中找到了答案,在我所提到的书的作者写的一篇文章中。另一个答案将其包装在一个div中,这不必要地使其复杂化。 – 2015-02-24 14:45:09