簡體   English   中英

CSS樣式表未在Rails 3.2.8中應用

[英]CSS stylesheet not applied in Rails 3.2.8

由於某種原因,我無法正確使用產品中的樣式表,因此我正在閱讀《使用Rails進行敏捷Web開發第四版》一書。 在書中,產品表中的背景看起來像是用粉紅色和其他顏色交替顯示的。

我是新手,對CSS或SCSS的了解還不多。

文件../depot/app/assets/stylesheets/products.css.scss具有以下內容:

/* START_HIGHLIGHT */
.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;
  }
}
/* END_HIGHLIGHT */

這是..app / views / products / index.html.erb

<h1>Listing products</h1>

<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),
               length: 80) %></dd>
      </dl>
    </td>

    <td class="list_actions">
      <%= link_to 'Show', product %><br/>
      <%= link_to 'Edit', edit_product_path(product) %><br/>
      <%= link_to 'Destroy', product,
                  confirm: 'Are you sure?' ,
                  method: :delete %>
    </td>
  </tr>
<% end %>
</table>

<br />

<%= link_to 'New product', new_product_path %>

和..app / views / layouts / application.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Depot</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<!-- START_HIGHLIGHT -->
<body class'<%= controller.controller_name %>'>
<!-- END_HIGHLIGHT -->

<%= yield %>

</body>
</html>

首先

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

我認為這里缺少=:

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

第二個

沒有清單文件(application.css),很難說是否需要該樣式表,但我想應該是:

/*
 *= require_self
 *= require products
 */

甚至更好,而不是要求在清單文件內,以這種方式在布局中包括用於特定控制器的CSS:

<%= stylesheet_link_tag params[:controller] %>

同樣,為了在您提出問題之前獲得最佳實踐,請確保您的瀏覽器中是否包含特定的CSS。 使用開發人員工具檢查已編譯的CSS或文檔結構。

最好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM