When I try to upload image using Paperclip gem I got this error:
NoMethodError (undefined method `stringify_keys' for <ActionDispatch::Http::UploadedFile:0x000000025387f0>)
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
I've seen this error happen before, usually when people attempt to call update_attributes
like this:
update_attributes(params[:image])
The call should actually be this:
update_attributes(:image => params[:image])
A bit of a shot in the dark, but if that's it I'm sure we'll all be impressed.
After struggling for a while in rails 3.2.2 I managed to solve this in this manner
(image = Image.new(image: params[:image])).save
update_attributes(image: image)
I just had this problem, and to clarify things a bit, update_attributes is different from update_attribute.
The following should work:
update_attributes(:image => params[:image])
or
update_attribute(:image, params[:image])
There you go! There are other issues with update_attributes related to attr_accesible, but either works.