我通过编辑文件将我的 rails 应用程序配置为使用不同的资产前缀conf/application.rb
。
+config.assets.prefix = '/wrapper/thing'
它适用于资产管道,但当我尝试在我的视图上使用它时。
<%= asset_path('milk.png') %>
它仍然输出"/assets/milk.png"
而不是"/wrapper/thing/milk.png"
。
我是否遗漏了什么?
答案1
您应该仔细检查您的文件名,因为有报告称存在类似的错误,但结果却是打字错误。
基本上,在 Rails 4 中,如果资产不存在,则会省略前缀。
您可以在 Rails 控制台中测试行为,正如它们在线程中演示的那样: https://github.com/rails/rails/issues/15873
$ rails new path-test
$ touch app/assets/images/hello.png
$ rails c
Loading development environment (Rails 4.1.1)
>> Rails.application.config.assets.prefix
=> "/assets"
>> ActionController::Base.helpers.asset_path "hello.png"
=> "/assets/hello.png"
>> ActionController::Base.helpers.asset_path "foo.png"
=> "/foo.png"
仅供参考,您可能会在 Stackoverflow 上更快地获得有关 Rails 问题的答复,因为那里有更大的 Rails 社区:https://stackoverflow.com/questions/tagged/ruby-on-rails
希望这可以帮助