【发布时间】:2011-09-27 13:48:42
【问题描述】:
我正在尝试将一些外部图像(由 jQuery 插件使用)放到我的 Rails 3.1 应用程序中的供应商/资产/图像中。问题是当我尝试类似:
<%= image_tag "ui-bg_flat_75_ffffff_40x100.png" %>
我收到一个错误:
No route matches [GET] "/assets/ui-bg_flat_75_ffffff_40x100.png"
我检查了我的 Rails.application.config.assets.paths,它列出了这些目录:
..../app/assets/images
..../app/assets/javascripts
..../app/assets/stylesheets
..../vendor/assets/images
..../vendor/assets/stylesheets
..../.rvm/gems/ruby-1.9.2-p180@mygems/gems/jquery-rails-1.0.9/vendor/assets/javascripts
如您所见,/vendor/assets/images 已在此处列出。如果我将我的图片放到 app/assets/images 中,一切正常。
我认为新的资产管道应该遍历所有资产目录并在找到它的任何地方提供请求的文件。
有人知道这里有什么问题吗?
【问题讨论】:
-
抱歉,不能完全解决您的问题,但是您如何看待 Rails.application.config.assets.paths ?
-
@martin:你可以在控制台看到
-
这可能是一个愚蠢的问题,但是您的 jqueryui 资产在 images 目录中吗?我的是在 image 目录中,然后在他们自己的子目录中保存 jqueryui 主题生成器生成的 CSS 路径。
-
遇到同样的问题,对我来说感觉就像一个错误。
-
我确定你已经尝试过了,但以防万一:即使在将资产移动到正确的位置、修改 jQuery UI CSS 图像路径并确保一切正常之后,我也遇到了同样的问题正确的。重新启动开发服务器最终解决了它。似乎 Sprockets 需要重新启动才能获得新资产。
标签: ruby-on-rails-3 ruby-on-rails-3.1 asset-pipeline