Accepts_nested_attributes_for kullanırken bir birleştirme modelinin özniteliklerini nasıl düzenlersiniz?
3 modelim var: Linkers ile birleştirilmiş Konular ve Makaleler
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
Bu yüzden makaleyi konular denetleyicisinin "yeni" eyleminde oluşturduğumda ...
@topic.articles.build
... ve konular / new.html.erb'de iç içe geçmiş formu oluşturun ...
<% form_for(@topic) do |topic_form| %>
...fields...
<% topic_form.fields_for :articles do |article_form| %>
...fields...
... Rails, bağlayıcıyı otomatik olarak oluşturur, bu harika. Şimdi soruma gelecek olursak : Bağlayıcı modelimde "yeni konu" formu aracılığıyla değiştirebilmek istediğim öznitelikler de var. Ancak Rails'in otomatik olarak oluşturduğu bağlayıcı, topic_id ve article_id dışındaki tüm öznitelikleri için nil değerlere sahiptir. Bu diğer bağlayıcı öznitelikleri için alanları "yeni konu" formuna nasıl koyabilirim, böylece sıfır çıkmazlar?
User
bir içindenAccount
bir kullananRelationship
bir olaraklinker
... ama yeni ve eylemler gibi ... sakıncası olur bakmak içindir oluşturduğunuz şeyleri bilemiyorum?