ruby rails第三方的资产路径

时间:2012-07-19 22:16:37

标签: ruby-on-rails asset-pipeline

我正在尝试从Rails 2.3.8移植到Rails 3.2.6。我的应用目前使用放在public/<3rdparty>/<subdir>/../..

中的第三方css / js / images

layout/application.html.erb中,我使用绝对路径来检索它们;例如<%= stylesheet_link_tag "/dojoroot/dojo/resources/dojo.css" %><%= javascript_include_tag "/dojoroot/dojo/dojo.js" %>

对于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下查看。将第三方分成3个样式表/ javascripts / images子目录似乎相当浪费和耗费时间。

如果我将绝对路径传递给标签;例如<%= javascript_include_tag "/dojoroot/dojo/dojo.js" %> Rails将无法在app / assets / dojoroot中找到它。

是否有一个配置,我可以让Rails查找资产而不将“样式表”,“javascripts”注入路径?

1 个答案:

答案 0 :(得分:1)

只需命名文件,无路径

<%= stylesheet_link_tag "dojo" %>

如果你想引用多个,你可以

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

另外,请确保在app / assets / javascript / application.js中有

//= require jquery
//= require jquery_ujs
//= require_tree . 

<%= javascript_include_tag(:application) %>

中的application.html.erb

http://edgeguides.rubyonrails.org/asset_pipeline.html

中阅读'2.1.2使用索引文件'