使用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
...并在topic / new.html.erb中创建嵌套表单...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails自动创建链接器,这很棒。 现在我的问题是:我的Linker模型还具有我希望能够通过“新主题”表单进行更改的属性。但是,Rails自动创建的链接器对其所有属性(topic_id和article_id除外)均具有nil值。我如何将那些其他链接器属性的字段放入“新主题”表单中,以使它们不会出现nil?
User
通过Account
aRelationship
作为一个linker
... 创建a ,但我不知道新的内容和create动作的含义是什么...您介意吗?