application.html.erb文件:
<!DOCTYPE html>
<html>
<head>
<title>Site</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>
我在public /文件夹中有一个文件“cake.generic.css”。
但是当我重新加载页面时,css文件的效果不起作用。
如果我看到页面查看源,我会看到类似这样的内容:
<!DOCTYPE html>
<html>
<head>
<title>Site</title>
<link href="/assets/all.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/home.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="6CPvchXr1amagxd7VmOzB82WGx/WmjfDOXjMLfjLzqQ=" name="csrf-token" />
</head>
<body>
<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
</body>
</html>
我该怎么做才能解决这个问题?
如何设置样式表和javascripts的公用文件夹?
看起来app / assets文件夹是为css和js文件设置的?
答案 0 :(得分:5)
Rails可能会将所有css文件整合到一个名为assets / all.css
的文件中考虑使用免费插件firebug + firepath来进一步表征问题。这种常用的工具组合将帮助您查询网页元素并查看有助于其显示的CSS。
答案 1 :(得分:4)
将cake.generic.css
复制到文件夹public/assets/
,如果不存在则复制目录。
然后将此添加到您erb
<%= stylesheet_link_tag "cake.generic" %>
第二个问题:如何设置样式表和javascripts的公用文件夹?
将所有图片,js和css文件放在“public / assets /”下,然后将它们包含在erb
页
第3个问题:看起来app / assets文件夹是为css和js文件设置的吗?
是的,'app / assets / stylesheets /'用于css和scss文件 和js和coffeescript文件的'app / assets / javascripts'
您可以在此处获取更多信息:http://guides.rubyonrails.org/asset_pipeline.html#how-to-use-the-asset-pipeline
希望这对你有用:)
答案 2 :(得分:3)
您的样式表应放在根项目的以下目录\public\stylesheets
中,如果您想指定不同的位置,请在stylesheet_link_tag("/public/yourfolder/test.css")
答案 3 :(得分:0)
我有类似的问题,但我的解决方法是确保css在app / assets / stylesheets /下面,我必须将以下行添加到application.css文件中(我的css文件名为custom.css)< / p>
@import'custom'