2012-07-19 66 views
0

我試圖從Rails 2.3.8移植到Rails 3.2.6。我的應用程序當前使用的第三方css/js /圖像放置在public/<3rdparty>/<subdir>/../..第三方的紅寶石軌道資產路徑

layout/application.html.erb,我用絕對路徑來檢索它們;例如<%= stylesheet_link_tag "/dojoroot/dojo/resources/dojo.css" %><%= javascript_include_tag "/dojoroot/dojo/dojo.js" %>

For Rails 3.2.6,資產預計在app/assetslib/assets。但是,將第三方從公開移動到應用/資產不起作用,因爲標籤正在尋找各自類型的資產。例如,<%= stylesheet_link_tag "dojoroot/dojo/resources/dojo.css" %>將查看app/assets/stylesheet/dojoroot/dojo/resources/dojo.csc,同樣,javascripts將在apps/assets/javascripts/dojoroot/dojo/dojo.js下查找。將第三方分成三個樣式表/ javascripts /圖像子目錄看起來相當浪費和耗時。

如果我將絕對路徑傳遞給標籤;例如<%= javascript_include_tag "/dojoroot/dojo/dojo.js" %> Rails在app/assets/dojoroot中找不到它。

有沒有一個配置,我可以讓Rails尋找資產,而不向路徑中注入「樣式表」,「javascripts」?

回答

1

將文件名,沒有路徑

<%= stylesheet_link_tag "dojo" %> 

如果你想引用一多,你可以做

<%= stylesheet_link_tag "dojo", "custom" %> 

此外,請務必在app /資產/ JavaScript的/應用程序。你有

//= require jquery 
//= require jquery_ujs 
//= require_tree . 
application.html.erb 而且 <%= javascript_include_tag(:application) %> JS

閱讀'2.1.2使用索引文件'http://edgeguides.rubyonrails.org/asset_pipeline.html