1

由于我目前使用 nginx 仅在子域资产中提供公共/上传服务,并且我正在使用客户端模板(eco)来渲染图像(所以我不能使用 rails 提供的 image_tag 或 image_url 辅助方法),我需要设置model.image_url(由carrierwave提供)以返回具有相同域的url。

这是我尝试过的:(在 config/initializer/carrierwave.rb 中)

    CarrierWave.configuration do |config|
            config.assets_host = "http://assets.lvh.me:3000"
    end

但是当我尝试这个设置时,rails 会弹出一条错误消息:

    undefined method `assets_host=' for CarrierWave::Uploader::Base:Class (NoMethodError)

由于carrierwave的自述文件有这个设置描述,但只在雾部分,所以我想知道这个功能是否只在使用雾时起作用?还是我错过了什么?

感谢帮助

4

2 回答 2

7

应该使用asset_host(版本> 0.7.0)

请参阅 github 上的 chnage 提交
https://github.com/jnicklas/carrierwave/commit/7046c93d6b23cffef9f171a5f7f0dd14267a7057#lib/carrierwave/uploader/configuration.rb

CarrierWave.configuration do |config|
  config.asset_host = "http://assets.lvh.me:3000"
end
于 2012-10-28T13:38:47.827 回答
1

在以后的版本中,这更改为

CarrierWave.configure do |config|
  ...
end
于 2014-06-29T12:49:40.840 回答