我有一个Rails 3.1应用程序。Rails资产管道,带路径前缀的子URI部署,image_tag
我通过乘客将其部署到SubURI,而不是URI根目录。例如,应用程序根目录实际上被访问为http://somewhere.com/application。
我有一个stylesheet.css.erb在使用资产管线我的应用程序,与
<%= asset_path 'something.gif' %>
设置一个背景图像。然而,当我运行rake assets:precompile
,它预编译这/assets/something.gif
,不/application/assets/something.gif
- - 因为当我从命令行运行rake任务时,它还不知道在SubURI下的Passenger下运行的路径前缀(“/ application”)。
什么是正确的方法来处理这个问题?有没有办法告诉资产:预编译任务使用特定的路径前缀,因为我们知道预编译时我们实际上是要部署到路径前缀吗?
- 注:Path的由实际生活的应用程序产生的,例如
stylesheet_link_tag 'application'
布局,做与路径前缀正确生成。因此,资产管道在操作时确实遵守路径前缀。问题很明显,当我运行资产:预编译时,它无法知道最终的前缀将会是什么,这是我运行它的方式。我该如何告诉它)
呵呵,但是这在3.1版本中不起作用,我需要从未发布的版本运行rails/sprockets?呸。它是包含在3.2中,还是甚至不在3.2中? – jrochkind 2012-01-09 18:09:16
我接受了你的答案给你的业力,因为你的链接让我找到解决方案,虽然这个答案不完全或完全准确。在http://stackoverflow.com/a/8822692/307106上看到我对这个问题的自我回答。 – jrochkind 2012-01-11 16:18:16
适用于Rails 3.2 – 2012-04-27 05:53:04