Как редактировать атрибуты модели соединения при использовании accepts_nested_attributes_for?
У меня есть 3 модели: темы и статьи, к которым присоединились линкеры
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
Поэтому, когда я собираю статью в «новом» действии контроллера тем ...
@topic.articles.build
... и создайте вложенную форму в themes / new.html.erb ...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails автоматически создает компоновщик, и это здорово.
Теперь по моему вопросу: Моя модель компоновщика также имеет атрибуты, которые я хочу изменить через форму «Новая тема». Но компоновщик, который автоматически создает Rails, имеет нулевые значения для всех своих атрибутов, кроме topic_id и article_id. Как я могу поместить поля для этих других атрибутов компоновщика в форму "новая тема", чтобы они не выходили ноль?