Paperclip gemを使用して画像をアップロードしようとすると、次のエラーが発生しました。
NoMethodError(<ActionDispatch :: Http :: UploadedFile:0x000000025387f0>の未定義のメソッド `stringify_keys ')
class MenuItem < ActiveRecord::Base
has_one :image
end
class Image < ActiveRecord::Base
belongs_to :menu_item
has_attached_file :image, :styles => {
:large => "640x480",
:medium => "300x300",
:thumb => "100x100"
}
end
私はこのエラーが以前に発生するのを見てきました。通常、人々がupdate_attributes
このような:
update_attributes(params[:image])
呼び出しは実際には次のようになります。
update_attributes(:image => params[:image])
少し暗闇の中でのショットですが、それならそれは私たち全員が感動することでしょう。
Rails 3.2.2でしばらく苦労した後、私はこれをこの方法で解決することができました
(image = Image.new(image:params [:image]))。save
update_attributes(image:image)
私はこの問題を抱えていましたが、少し明確にするために、update_attributesはupdate_attributeとは異なります。
以下はうまくいくはずです:
update_attributes(:image => params[:image])
または
update_attribute(:image, params[:image])
よし! attr_accesibleに関連するupdate_attributesには他にも問題がありますが、どちらでも機能します。