[英]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.