【发布时间】:2011-11-13 21:24:06
【问题描述】:
我一直致力于从 2.3.11 升级到 Rails 3.1。要清除的主要障碍之一是向资产管道的转换。在这个过程中,我决定将我的 css 转换为 sass (scss)。在 rails 3.1 中,通过管道交付的所有资产都会在生产中收到附加到文件名的哈希。因此,我的 css 中引用的所有图像现在都需要使用 sass 中的 image-path 或 image-url 助手。问题是,即使我在 environment.rb 文件中设置了我的 ENV['RAILS_RELATIVE_URL_ROOT'] ,sass 资产帮助程序也无法包含 relative_url_root。
为了清楚起见,为了在 rails 3.1 中添加 relative_url_root,我在 environment.rb 文件中添加了以下行:
ENV['RAILS_RELATIVE_URL_ROOT'] = '/foo'
并将以下行添加到我的虚拟主机:
RailsBaseURI /foo
此策略似乎适用于所有链接等。只是 sass 中的资产助手似乎无法正常工作。任何想法将不胜感激。
【问题讨论】:
-
这是一个相关的问题。不完全相同,但一个答案可以帮助你们两个:stackoverflow.com/questions/7293918/…
-
github.com/rails/rails/pull/2977 很快会在 rails 的 Sprockets::RailsHelper::AssetPaths 类中修复。
-
Google 员工,请在 stackoverflow.com/questions/7293918/… 上查看我的回答
标签: ruby-on-rails ruby-on-rails-3 sass asset-pipeline passenger