Mit has_many verschachtelte Rails-Form: Wie können Attribute des Join-Modells bearbeitet werden?

Wie bearbeiten Sie die Attribute eines Join-Modells, wenn accept_nested_attributes_for verwendet wird?

Ich habe 3 Modelle: Themen und Artikel von Linkers verbunden

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

Also, wenn ich den Artikel in der "neuen" Aktion des Themen-Controllers baue ...

@topic.articles.build

... und das verschachtelte Formular in topics / new.html.erb erstellen ...

<% form_for(@topic) do |topic_form| %>
  ...fields...
  <% topic_form.fields_for :articles do |article_form| %>
    ...fields...

... Rails erstellt automatisch den Linker, was großartig ist.Nun zu meiner Frage: Mein Linker-Modell hat auch Attribute, die ich über das Formular "Neues Thema" ändern möchte. Der Linker, den Rails automatisch erstellt, enthält jedoch keine Werte für alle Attribute außer topic_id und article_id. Wie kann ich Felder für diese anderen Linker-Attribute in das "neue Thema" -Formular einfügen, damit sie nicht leer werden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage