我正在尝试从Rails 2.3.8移植到Rails 3.2.6。我的应用目前使用放在public/<3rdparty>/<subdir>/../..
在layout/application.html.erb
中,我使用绝对路径来检索它们;例如<%= stylesheet_link_tag "/dojoroot/dojo/resources/dojo.css" %>
和<%= javascript_include_tag "/dojoroot/dojo/dojo.js" %>
对于Rails 3.2.6,资产预计位于app/assets
或lib/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”注入路径?
答案 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
中阅读'2.1.2使用索引文件'