Validates_presence_of : étran ge


#1

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


#2

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


#3

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_


#4

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 removed_email_address@domain.invalid