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
...そして、topics / 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を除くすべての属性にnil値を持っています。他のリンカー属性のフィールドを「新しいトピック」フォームに入れて、それらがnilにならないようにするにはどうすればよいですか?
User
を通じてAccount
使用しRelationship
てlinker
...しかし、私は新しい何かを把握し、アクションはのような...あなたが気になり見に意図されて作成することはできませんか?