¿Cómo se editan los atributos de un modelo de combinación cuando se utiliza accept_nested_attributes_for?
Tengo 3 modelos: Temas y artículos unidos por vinculadores
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
Entonces, cuando construyo el artículo en la acción "nueva" del controlador de temas ...
@topic.articles.build
... y crea el formulario anidado en topics / new.html.erb ...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails crea automáticamente el enlazador, lo cual es genial. Ahora para mi pregunta: Mi modelo de Linker también tiene atributos que quiero poder cambiar a través del formulario de "nuevo tema". Pero el enlazador que Rails crea automáticamente tiene valores nulos para todos sus atributos, excepto topic_id y article_id. ¿Cómo puedo poner campos para esos otros atributos del enlazador en el formulario "nuevo tema" para que no salgan nulos?
User
través de unAccount
uso de unRelationship
comolinker
... pero no puedo entender cómo deben verse las acciones nuevas y de creación ... ¿te importaría?