Je suis en cours d'exécution dans un problème avec une forme imbriquée que je suis sûr que devrait être facilement résolu, mais je ne peux pas trouver un moyen de contournerRails 2.3 attributs imbriqués problème
Fondamentalement, j'ai la relation suivante La forme imbriquée fonctionne parfaitement tant que je crée de nouveaux contacts à chaque fois.
Si j'inclue une liste déroulante pour permettre la sélection d'un contact existant dans le formulaire imbriqué, un événement est créé, cependant le contact_id est nul dans la table event_contacts.
Aucun contact est créé, puisque je posterai un champ « id » pour le contact imbriqué .. (c.-à-.new_record? Retourne false.)
Comment puis-je mettre à jour la table event_contacts pour assurer que le « sélectionné «les contacts sont correctement associés?
Voir snipbits ci-dessous ...
modèles
class Event < ActiveRecord::Base
belongs_to :user
has_many :event_contacts
accepts_nested_attributes_for :event_contacts
has_many :contacts, :through => :event_contacts
accepts_nested_attributes_for :contacts
class EventContact < ActiveRecord::Base
belongs_to :event
belongs_to :contact
accepts_nested_attributes_for :contact
class Contact < ActiveRecord::Base
belongs_to :user
has_many :event _contacts
has_many :events, :through => :event_contacts
Voir
- fields_for(@event) do |f|
- f.fields_for :event_contacts do |rc|
- rc.fields_for :contact do |c|
= c.collection_select :id, Contact.all, :id, :name, { :selected => @contact.id || 0 }
= c.hidden_field :user_id, :value => @current_user.id
= c.text_field :first_name
= c.text_field :email
Pouvez-vous coller l'extrait associé à cette situation? – khelll
Salut ont ajouté le modèle et afficher le code pour décrire ce que je fais – Dom