J'ai 2 modèles, Category
et LineItemTypes
Création ou suppression d'associations avec accepts_nested_attributes_for
Il y a déjà beaucoup, il est à la fois existant, maintenant une exigence pour eux d'être associés. Étant plusieurs LineItemTypes pour chaque catégorie.
J'ai ajouté accepts_nested_attributes_for :line_item_types
sur Category
J'ai essayé d'utiliser un hidden_field
sur un formulaire pour créer une liste des associés existants LineItemTypes
:
- form_for @category do |form|
%ul#categorised
- form.fields_for :line_item_types do |line_item_types|
-categorised.each do |l|
%li
=l.description
=line_item_types.hidden_field :category_id
=form.submit
Si j'ajoute un élément à cette liste, je obtenir des erreurs indiquant qu'un LineItemType pour cette catégorie est introuvable. Je pensais que accept_nested_attributes_for ajouterait l'association si elle n'existe pas. Ou est-ce seulement pour «créer» de nouveaux enregistrements et modifier des relations existantes, sans créer de nouvelles relations.
a.update_attributes({:line_item_types_attributes => [{:id => 2767}, {:id => LineItemType.find(2).id}]})
ActiveRecord::RecordNotFound: Couldn't find LineItemType with ID=2 for Category with ID=1
Des idées sans avoir à écrire quelque chose pour parcourir les params de forme résultants et créer les associations? Ou un moyen encore plus facile d'y parvenir?
Désolé, obtenez toujours la même erreur. Je peux créer NEW line_item_types sur cette catégorie mais je ne peux pas associer line_item_types existant avec une catégorie existante ... – stuartc