我正在尝试从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" %>
对于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下查看。将第三方划分为样式表/javascripts/图像的3个子目录似乎相当浪费时间。
如果我将绝对路径传递给标记;例如<%= javascript_include_tag "/dojoroot/dojo/dojo.js" %>,Rails将无法在app/assets/dojoroot中找到它。
发布于 2012-07-20 06:19:54
只命名文件,不指定路径
<%= stylesheet_link_tag "dojo" %>如果要引用多个,可以这样做
<%= stylesheet_link_tag "dojo", "custom" %>另外,确保在app/assets/javascript/application.js中拥有
//= require jquery
//= require jquery_ujs
//= require_tree . 和application.html.erb中的<%= javascript_include_tag(:application) %>
阅读http://edgeguides.rubyonrails.org/asset_pipeline.html中的“2.1.2使用索引文件”
https://stackoverflow.com/questions/11570135
复制相似问题