[英]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個問題:
錯誤的路徑 -不要將資產文件直接公開。 資產管道從/app/assets/stylesheets
編譯文件並將其輸出到/public/assets
。 因此,請先將您的CSS文件移至/app/assets/stylesheets
。
文件名錯誤 -請參見第一個代碼示例的第5行,其中顯示<%= stylesheet_link_tag :all %>
嗎? 這告訴資產管道在/public/assets
all.css
名為all.css
的css文件。 顯然,您的css文件未命名為該文件。 所以也改變它,你應該很好!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.