Come si modificano gli attributi di un modello di join quando si utilizza accept_nested_attributes_for?
Ho 3 modelli: Argomenti e Articoli uniti da Linker
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
Quindi, quando creo l'articolo nell'azione "nuova" del controller degli argomenti ...
@topic.articles.build
... e crea il modulo annidato in topics / new.html.erb ...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails crea automaticamente il linker, il che è fantastico. Ora per la mia domanda: il mio modello Linker ha anche attributi che desidero poter modificare tramite il modulo "nuovo argomento". Ma il linker che Rails crea automaticamente ha valori nulli per tutti i suoi attributi eccetto topic_id e article_id. Come posso inserire i campi per quegli altri attributi del linker nel modulo "nuovo argomento" in modo che non risultino nulli?
User
unAccount
utilizzando unRelationship
come alinker
... ma non riesco a capire come dovrebbero essere le azioni new e create ... ti dispiacerebbe?