1
最近從RMagick切換到Mini_Magick。我收到錯誤undefined method 'write' for "":String
。下面是我上傳的樣子......CarrierWave + Mini_Magick:未定義的方法寫入「」:字符串
class BackgroundUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
include CarrierWave::MimeTypes
process :set_content_type
storage :file
def store_dir
"uploads/backgrounds/#{model.id}"
end
def default_url
"/assets/fallback/default.jpg"
end
process :resize_to_fit => [1024, 1024]
process :convert => 'jpg'
process :fix_exif_rotation
def fix_exif_rotation
manipulate! do |img|
img.auto_orient
img = img.gaussian_blur 5
img = yield(img) if block_given?
img
end
end
def extension_white_list
%w(jpg jpeg png)
end
end
問題在於fix_exif_rotation
方法。如果我註釋掉行process :fix_exif_rotation
一切正常。我已經刪除了!從auto_orient調用結束時,因爲從RMagick切換到Mini_Magick時似乎導致其他人遇到問題。
任何幫助將不勝感激。從上面的鏈接「相關問題2」
啊哈!你是對的。謝謝你的幫助。現在唯一的價值是通過(在這種情況下5)似乎沒有效果。我是否提供無,5,50,100 ......結果是相同的模糊半徑。那裏有任何想法? – gbdev
mini_magick是一個非常簡單的寶石,所以沒有太多可以出錯的地方。我無知的猜測是,這種變化是不可見的。基於[imagemagick文檔](http://www.imagemagick.org/www/command-line-options.html#gaussian-blur),也許你應該嘗試像「10x3」這樣的參數來表示半徑和西格瑪。 – Taavo
再次釘住它。謝謝Taavo!對於其他人來說,這些文檔[這裏](http://www.imagemagick.org/Usage/blur/#blur_args)確實有助於理解這一切。 – gbdev