我升级了我的应用程序从红宝石1.9.3到红宝石2.0,保持我的大部分宝石没有升级。 一切工作正常,但是当我尝试上传的图像,我得到这个错误:Carrierwave/RMagick NoMethodError升级到红宝石2.0后
NoMethodError - undefined method `[]=' for nil:NilClass:
app/uploaders/image_uploader.rb:91:in `block in optimize'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/processing/rmagick.rb:263:in `manipulate!'
app/uploaders/image_uploader.rb:90:in `optimize'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/uploader/processing.rb:85:in `block in process!'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/uploader/processing.rb:81:in `each'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/uploader/processing.rb:81:in `process!'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/uploader/callbacks.rb:18:in `block in with_callbacks'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/uploader/callbacks.rb:18:in `each'
/home/stefpe/.rvm/gems/[email protected]/bundler/gems/carrierwave-5ee108128b40/lib/carrierwave/uploader/callbacks.rb:18:in `with_callbacks'
的image_uploader.rb基于/carrierwave/processing/rmagick.rb例如manipulate
功能:
def optimize
manipulate! do |img, index, options|
options[:write] = {
:quality => 50,
:depth => 8,
:interlace => "Magick::PlaneInterlace"
}
img.strip!
end
end
配置: 服务器:Heroku的,本地开发:Linux的
红宝石1.9.3 - > 2.0
个轨3.2.13
carrierwave 0.6.2
rmagick 2.13.1
雾1.3.1
任何想法,为什么会出现与红宝石2.0.0不兼容?
预先感谢您!
你会很好,包括91行的摘录,因为错误味精说: –