Validates_presence_of : étran ge

Bonsoir à tous,

J’ai un model Item qui possède des Images.

class Item

has_many :images

end

class Image

validates_presence_of :item_id

end

Et dans un code, je vais

i = Item.new
i.images.build(:…)
i.save!

et là, j’ai une error car l’image n’est pas valide.
si j’enlève le validates_presence_of :item_id, c’est bon.

C’est pas logique non ?

Merci pour votre aide,

Pierre

Est ce que ce ne serait pas lié au faut que la validation est faite
avant la sauvegarde (qui génère les id).

Le 18 janvier 2009 02:03, Pierre a écrit :

validates_presence_of :item_id
si j’enlève le validates_presence_of :item_id, c’est bon.

C’est pas logique non ?

Essaie :

Item.has_many :images, :validate => false
Image.validates_presence_of :item_id

ou

Item.has_many :images
Image.validates_presence_of :item
i.images.build(:item => i,…)

-- Jean-François.


http://twitter.com/underflow_

Merci, Jean-François, je ne connaissais pas l’option :validate des
associations.
Tout fonctionne maintenant.
Bon dimanche,

Pierre

2009/1/18 Jean-François Trân [email protected]