2011-10-07 50 views
0

的application.html.erb文件:Ruby on Rails:如何添加一個帶有rails項目的css文件?

<!DOCTYPE html> 
<html> 
<head> 
    <title>Site</title> 
    <%= stylesheet_link_tag :all %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 

我在公共/文件夾中的文件 「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> 

我應該怎麼做才能解決這個問題?

如何設置樣式表和JavaScript的公用文件夾?

它看起來應用程序/資產文件夾設置爲CSS和JS文件?

回答

4

Rails的絕對路徑,很可能是你的所有CSS文件合併成一個,這正在呼叫assets/all.css

考慮使用免費插件firebug + firepath來進一步表徵問題。這種常見的工具組合將幫助您查詢網頁元素並查看有助於其顯示的css。

+1

我不得不將css文件放在app/assets文件夾中。 – shibly

2

樣式表應該從根項目放在以下目錄\public\stylesheets和如果要指定不同的位置提供內部stylesheet_link_tag("/public/yourfolder/test.css")

+0

儘管如此錯誤,我用這個=><(%)= stylesheet_link_tag( 「/公共/ cake.generic.css」)%> – shibly

+0

還試圖此創建文件夾 「樣式表」,仍然錯誤, <%= stylesheet_link_tag(「/ public/stylesheets // cake.generic。css「)%> – shibly

3

cake.generic.css複製到文件夾public/assets/,如果不存在,則先創建目錄。

再加入這個給你erb

第二個問題:我如何設置樣式表和JavaScript的公共文件夾?

只要把你的圖像,JS和CSS文件下的「公共/資產/」,然後將它們包括在erb頁面

第三問題:它看起來該應用程序/資產的文件夾設置爲CSS和js文件?

是的, '應用程序/資產/樣式表/' 對CSS和SCSS文件 和JS '應用程序/資產/ JavaScript的' 和CoffeeScript的文件

您可以在這裏更多的信息:http://guides.rubyonrails.org/asset_pipeline.html#how-to-use-the-asset-pipeline

希望這項工作爲你:)

0

我有類似的問題,但我的修復是確保CSS是app/assets/stylesheets /和我不得不將下面的行添加到application.css文件(我的CSS文件命名爲custom.css)

@import '自定義'

+0

這可能會解決問題,但不回答'我如何設置樣式表和javascripts的公共文件夾?' – kloarubeek