Bagaimana Anda mengedit atribut model gabungan saat menggunakan accepts_nested_attributes_for?
Saya memiliki 3 model: Topik dan Artikel bergabung dengan 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
Jadi, ketika saya membuat artikel di tindakan "baru" dari pengontrol topik ...
@topic.articles.build
... dan buat formulir bersarang di topics / new.html.erb ...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails secara otomatis membuat linker, yang sangat bagus. Sekarang untuk pertanyaan saya: Model Linker saya juga memiliki atribut yang ingin saya ubah melalui formulir "topik baru". Tetapi linker yang dibuat secara otomatis oleh Rails memiliki nilai nihil untuk semua atributnya kecuali topic_id dan article_id. Bagaimana cara meletakkan bidang untuk atribut penaut lainnya ke dalam formulir "topik baru" agar tidak nihil?
User
melaluiAccount
menggunakan aRelationship
sebagailinker
... tetapi saya tidak tahu seperti apa tindakan baru dan buat yang dimaksud ... maukah Anda?