Comment éditez-vous les attributs d'un modèle de jointure lors de l'utilisation d'accept_nested_attributes_for?
J'ai 3 modèles: Thèmes et articles rejoints par Linkers
class Topic < ActiveRecord::Base
has_many :linkers
has_many :articles, :through => :linkers, :foreign_key => :article_id
accepts_nested_attributes_for :articles
end
class Article < ActiveRecord::Base
has_many :linkers
has_many :topics, :through => :linkers, :foreign_key => :topic_id
end
class Linker < ActiveRecord::Base
#this is the join model, has extra attributes like "relevance"
belongs_to :topic
belongs_to :article
end
Alors quand je construis l'article dans la "nouvelle" action du contrôleur de sujets ...
@topic.articles.build
... et créez le formulaire imbriqué dans topics / new.html.erb ...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails crée automatiquement l'éditeur de liens, ce qui est génial. Maintenant pour ma question: mon modèle Linker a également des attributs que je souhaite pouvoir modifier via le formulaire "nouveau sujet". Mais l'éditeur de liens créé automatiquement par Rails a des valeurs nulles pour tous ses attributs à l'exception de topic_id et article_id. Comment puis-je mettre des champs pour ces autres attributs de l'éditeur de liens dans le formulaire "nouveau sujet" afin qu'ils ne soient pas nuls?
User
enAccount
utilisant unRelationship
comme unlinker
... mais je ne peux pas comprendre à quoi ressemblent les actions de création et de création ... cela vous dérange?