Bonjour, Je n'ai peut-être pas la réponse que tu attends mais, pour ma part, j'utilise des form objects : http://railscasts.com/episodes/416-form-objects https://www.reinteractive.net/posts/158-form-objects-in-rails https://github.com/GCorbel/activeform-rails
Pour moi, les nested attributes sont bien plus compliqués que les forms objects. Qu'en penses-tu? Bye, Guirec. Le 14 septembre 2014 22:32, Florian Dutey <[email protected]> a écrit : > Salut a tous, > > Aujourd'hui je me retrouve face a un probleme relatif a la validation sur > les nested attributes. > > Pour faire simple: > > class Request < AR > has_many :products, :inverse_of => :request > > accepts_nested_attributes_for :products > end > > class Product < AR > belongs_to :request, :inverse_of => :products > > validates :name, :presence => true > validates :reference, :presence => true > end > > Request.new :products_attributes => [{ :name => 'a' }, { :name => 'b' }] > Request.valid? > Request.errors > > >> #<ActiveModel [...] @messages={:"products.reference" => ["can't be > blank"]} ...> > > En JSON evidemment, ca donne la meme chose. > > Il m'a toujours semble que AR ajoutait la position de l'objet dans la > clef, ou qu'il gerait ca avec des tableaux (ordonnes). Ca faisait longtemps > que je n'avais pas utilise les validations des nested attributes sur des > has_many. Visiblement mes souvenirs etaient faux ou les choses ont change. > > Quelqu'un a deja rencontre un probleme similaire? Comment a-t-il resolu > cette misconception evidente qui rend les nested completement inutiles en > creation sur du has_many? > > Merci d'avance =) > > -- > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > "Railsfrance". > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour obtenir davantage d'options, consultez la page > https://groups.google.com/d/optout. > -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/d/optout .
