web-dev-qa-db-fra.com

méthode non définie `stringify_keys '

Lorsque j'essaie de télécharger une image à l'aide de Paperclip gem, j'ai eu cette erreur:

NoMethodError (méthode non définie `stringify_keys 'pour <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
28
user908798

J'ai déjà vu cette erreur se produire, généralement lorsque les gens tentent d'appeler update_attributes comme ça:

update_attributes(params[:image])

L'appel devrait en fait être le suivant:

update_attributes(:image => params[:image])

Un petit coup dans le noir, mais si c'est ça, je suis sûr que nous serons tous impressionnés.

74
Ryan Bigg

Après avoir lutté pendant un certain temps en Rails 3.2.2 j'ai réussi à résoudre ce problème de cette manière

(image = Image.new (image: paramètres [: image])). enregistrer

update_attributes (image: image)

1
Sagish

Je viens d'avoir ce problème, et pour clarifier un peu les choses, update_attributes est différent de update_attribute.

Les éléments suivants devraient fonctionner:

update_attributes(:image => params[:image])

ou

update_attribute(:image, params[:image])

Voilà! Il y a d'autres problèmes avec update_attributes liés à attr_accesible, mais l'un ou l'autre fonctionne.

0
bradmalloy