1

我正在尝试从 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。但是,将第 3 方从公共移动到应用程序/资产不起作用,因为标签正在寻找各自类型下的资产。例如,<%= 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/图像的 3 个子目录似乎相当浪费和耗时。

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

有没有一种配置可以让 Rails 在不将“样式表”、“javascripts”注入路径的情况下查找资产?

4

1 回答 1

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 使用索引文件”

于 2012-07-19T22:19:54.387 回答