2

J'utilise les rails 3.0.0.beta3 et j'essaye d'implémenter le formulaire avec des attributs imbriqués en utilisant: accept_nested_attributes_for.rails attributs imbriqués

Mon formulaire est imbriqué à trois niveaux: Sondage >> Question >> Réponse.

Enquête has_many Questions, et Question a beaucoup de réponses.

A l'intérieur du modèle de l'enquête, il est : accepts_nested_attributes_for: Questions

et à l'intérieur du mode de question, il est : accepts_nested_attributes_for: répond

Tout fonctionne bien sauf quand j'ajoute une nouvelle réponse à une question existante, elle ne se crée pas. Cependant, si je fais des changements à la question correspondante en créant la réponse, je peux créer avec succès la réponse.

Cet exemple est exactement semblable à un Railscast: http://railscasts.com/episodes/197-nested-model-form-part-2

mais ne fonctionne pas dans rails3 (au moins dans mon cas).

S'il vous plaît laissez-moi savoir s'il y a un problème avec les attributs imbriqués dans Rails 3.

Merci à l'avance.

Répondre

0

Jetez un oeil au commentaire 93 sur cette railscast (par Casper Fabricus). Il dit que vous devez mettre "[]" autour de "new_object" dans la méthode "link_to_add_fields" dans helper.

Peut-être que c'est ce que vous frappez?

2

Si vous utilisez attr_accessible assurez-vous d'inclure les attributs imbriqués

class Survey < ActiveRecord::Base 
    accepts_nested_attributes_for :questions 
    attr_accessible :questions_attributes 
end 

class Question < ActiveRecord::Base 
    accepts_nested_attributes_for :answers 
    attr_accessible :answers_attributes 
end 

Aussi, voir mon commentaire ici sur les attributs imbriqués et de modèle si les validations vous rencontrez toujours des problèmes. Validations misfiring in a form with multiple models

Questions connexes