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 .

Répondre à