Ruby on rails Rails资产管道、带有路径前缀的子URI部署、图像标签
我有一个Rails 3.1应用程序 我通过passenger将其部署到子URI,而不是URI根。例如,应用程序根目录实际上是作为访问的 我的应用程序中有一个stylesheet.css.erb,它使用资产管道设置背景图像Ruby on rails Rails资产管道、带有路径前缀的子URI部署、图像标签,ruby-on-rails,asset-pipeline,Ruby On Rails,Asset Pipeline,我有一个Rails 3.1应用程序 我通过passenger将其部署到子URI,而不是URI根。例如,应用程序根目录实际上是作为访问的 我的应用程序中有一个stylesheet.css.erb,它使用资产管道设置背景图像 <%= asset_path 'something.gif' %> 但是,当我运行rake-assets:precompile时,它会将其预编译为/assets/something.gif,而不是/application/assets/something.gi
<%= asset_path 'something.gif' %>
但是,当我运行rake-assets:precompile
时,它会将其预编译为/assets/something.gif
,而不是/application/assets/something.gif
——因为当我从命令行运行rake任务时,它还不知道路径前缀(“/application”)当在SubURI的乘客下方运行时,这将是有效的
正确的处理方法是什么?有没有一种方法可以告诉资产:预编译任务使用一个特定的路径前缀,因为我们知道在预编译时我们实际上要部署到一个路径前缀
- 注意:路径是由实际的live应用程序生成的,例如布局中的
,do使用路径前缀正确生成。因此,资产管道在运行时确实尊重路径前缀。问题很明显,当我运行assets:precompile时,它无法知道最终前缀是什么,也无法知道我运行它的方式。我怎么说呢?)stylesheet\u link\u tag'application'
RAILS\u RELATIVE\u URL\u ROOT
资料来源:
@Tigraine建议大师有一个补丁,我还没有确认。如果是这样,我不知道它将发布什么版本的rails(下一个版本是3.1.x,3.2,甚至更高版本?),或者它将采取什么形式(rails\u RELATIVE\u URL\u ROOT)?如果有人知道这些问题的答案,也许在将来发布此类版本时,请添加评论或答案 嗯,但这在3.1版本中不起作用,我需要在未发布的版本中运行轨道/链轮?呸。它是否包含在3.2中,或者甚至不包含在3.2中?我接受了你的答案,给你业力,因为你的链接引导我找到了解决方案,尽管这个答案并不完整或完全准确。请参阅我对这个问题的自我回答