簡體   English   中英

Ruby on Rails和CSS問題

[英]ruby on rails and css issue

我正在學習Rails上的ruby,但是我的CSS代碼有這個問題。

所以在~/Ruby Code/My_Project/app/views/layouts/application.html.erb我有這個:

<!DOCTYPE html>
<html>
<head>
  <title>MyProject</title>
  <%= stylesheet_link_tag    :all  %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

在〜/ Ruby Code / My_Project / public / stylesheets中,我有一個名為“ My_Project.css”的CSS文件。

同樣在〜/ Ruby Code / My_Project / app / views / users中,我有index.html.erb文件:

<div id="user_list" >

<h1>Listing users</h1>

<table>

    <% @users.each do |user| %>

    <tr class="<%= cycle('list_line_odd', 'list_line_even') %>" >

        <td class="user_description" >
            <dl>
            <dt><%= user.name %></dt>
            <dt><%= user.surname %></dt>
            <dt><%= user.age %></dt>
            <dt><%= user.date_birth %></dt>
            <dt><%= user.date_of_reg %></dt>
            <dt><%= user.email %></dt>
        </td>
        <td class="list_actions" >
            <%= link_to 'Show', user %><br/>
            <%= link_to 'Edit', edit_user_path(user) %><br/>
            <%= link_to 'Destroy', user,
            :confirm => 'Are you sure?',
            :method => :delete %>
        </td>

    </tr>
    <% end %>

</table>
</div>
<br />
<%= link_to 'New user', new_user_path %>

為什么Ruby無法加載CSS文件? 它放置在錯誤的目錄中嗎?

從rails 3.1開始,有一個東西叫做資產管道 這將確保您的css文件打包成1個文件,而另一個文件包含所有js文件。 這樣可以確保初始下載更快。

在您的app/assets/stylesheets有一個application.css作為清單。 該文件將包含描述,哪些css文件需要包含在完整的application.css

默認情況下,此文件包含類似

/* 
 *= require_self
 *= require_tree .
 */

這意味着application.css文件本身內部的內容以及同一文件夾中的所有其他文件都將包含在最終的application.css

希望這可以幫助。

2個問題:

  1. 錯誤的路徑 -不要將資產文件直接公開。 資產管道從/app/assets/stylesheets編譯文件並將其輸出到/public/assets 因此,請先將您的CSS文件移至/app/assets/stylesheets

  2. 文件名錯誤 -請參見第一個代碼示例的第5行,其中顯示<%= stylesheet_link_tag :all %>嗎? 這告訴資產管道在/public/assets all.css名為all.css的css文件。 顯然,您的css文件未命名為該文件。 所以也改變它,你應該很好!

暫無
暫無

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

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