2011-06-17 19 views
12

我是新來的紅寶石,使用Ruby 1.9.2P180和Rails 3.1.0.rc2Ruby on Rails的查找CSS的資產,而不是公共/樣式

我有 「screen.css」 在my_app_root /公/樣式表/ screen.css和我application.html.erb

<%= stylesheet_link_tag 'screen.css', :media => 'screen' %> 

根據here它應該工作,但我的rails服務器說:

處理由PagesController#家爲HTML渲染 頁/家。H T ml.erb在佈局/應用程序中(0.0ms) 在4ms中完成200 OK(查看:3.6ms | ActiveRecord:0.0ms)

已啓動GET「/assets/screen.css」for 127.0.0.1 at 2011-06-18 11:27:53 +1200 Served asset /screen.css - 404 Not Found(2ms) (PID 10966)

的ActionController :: RoutingError(無路由匹配[GET] 「/assets/screen.css」):

我在做什麼錯在這裏?

在此先感謝

回答

15

我在做什麼錯在這裏?

什麼,你只是使用默認的3.1安裝,它使用新的基於鏈輪的資產管道。

把你的樣式表放到/應用程序/資產/樣式表和使用

<%= stylesheet_link_tag 'application.css' %> 
在你的意見

新管道需要該文件夾中的所有樣式表

,並自動編譯成一個單一的文件。

==

或者,您可以設置與

config.assets.enabled = false 
+0

對不起劫持打開新pipline掉在你的application.rb中,但是它可以指定每個媒體類型不同資產的主機? (即css.mydomain.com,js.mydomain.com,img.mydomain.com)。我們使用像這樣的設置與自定義助手,但只是使用資產將簡化事情。 – d11wtq

+0

它的rubyonrails,當然你可以根據內容類型定製你的主機。 看看使用proc函數。 http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html使用關閉ssl的情況下顯示的示例,但您可以檢查請求以查看正在提供哪種文件並將其重定向到正確的主機... – colinross

+0

哈哈,「紅寶石在軌道上」!=「當然你可以自定義」,根據我的經驗;)更多極性相反。感謝您的鏈接;很有幫助! :) – d11wtq

相關問題