0

我现在为此苦苦挣扎了几个小时,尝试了我找到的所有解决方案,但没有运气。尽管如此,我第一次尝试从书中运行 Depot 示例是在没有应用任何 CSS 的情况下运行的。

我确定 scss 已编译,因为 chrome 向我显示 application.css、scaffolds.css 和 products.css 已加载。我尝试创建其他 css 文件 - 不是 scss - 但只有部分运气,只应用了一些样式 - 其余与用户代理样式表匹配并继承了一些脚手架.css 属性 - 但不是重要的。

我在 application.html.erb 中加载所有 css:

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

在同一个文件中,我声明类:

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

products/index.html.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 .
 */

显然,出了点问题。我在 Rails 3.2.12 和 Ruby 1.9.3 上运行。Ruby on Rails 对我来说是新的,但我有强烈的学习欲望(而且我有一些时间学习——可能在接下来的几个月内不会发生)但是当我像这样被困住时,我会浪费时间,什么也学不到 -或几乎没有 - 新的:)

如果它被回答并且我碰巧没有找到正确的答案,非常抱歉,只需指出我正确的方向并给予推进器踢。

4

3 回答 3

1

它应该是 products.css.scss 而不是 products.scss 在 /app/assets/stylesheets/

当我查看您的示例表时,在您的表上方放置一个带有 class="products" 的 div 标签。

<div class="products">
  <table>
  </table>
</div>
于 2013-02-25T15:19:41.480 回答
1

我已经开始着手解决了。CSS验证器显示有错误:

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

所以现在我正在手工编写代码,一个接一个的字符,没有从书中复制/粘贴。删除 tmp/cache 和 public/application.css 后看起来它正在工作

于 2013-02-25T19:10:19.463 回答
0

表声明需要类,所以在索引文件中应该是

<table class ="products">

书和可下载的文件都没有这样的方式,但是通过勘误表挖掘得到了答案。https://pragprog.com/titles/rails4/errata

于 2015-02-23T12:38:48.850 回答