前提・実現したいこと
Rails の CarrierWave というジェムで画像アップロード機能をついけているのですが
画像サイズの取得とアップロードした画像のサイズを半分にしたものを追加したいです
発生している問題・エラーメッセージ
モデルから
mount_uploader :profile_image, UserUploader
で呼び出している uploader/user_uploader.rb
に下記のコードを追加したところ
コントローラー内の
@user = User.new(user_params)
の行で
wrong number of arguments (0 for 2)
というエラーメッセージが発生しました。
エラーメッセージの内容と変更箇所の因果関係がよくわからず何がおこっているのでしょうか
該当のソースコード
ruby
1 # サイズを半分にしたものを生成してそのサイズを保存する 2 process :store_dimensions 3 4 version :half do 5 process :resize_to_fit => @resize 6 end 7 8 def store_dimensions 9 puts 'store_dimensions @ H1ImageUploader' 10 if file && model 11 puts file.file 12 @resize = MiniMagick::Image.open(file.file).dimensions 13 @resize[0] = @resize[0] / 2 14 @resize[1] = @resize[1] / 2 15 model.image_size = JSON.generate({width: @resize[0], height: @resize[1]}) 16 end 17 end
試したこと
https://stackoverflow.com/questions/20522375/wrong-number-of-arguments-for-model-new
同じような症状の報告があったのですが
当然 new メソッドをオーバーライドはしていません
他になにか new の中で使われるオーバーライドしてはいけないメソッド名があったりするのでしょうか
補足情報(FW/ツールのバージョンなど)
rails (= 4.2.3)
carrierwave (1.2.3)
carrierwave-aws (1.3.0)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。