次のデータ構造のフォームを作成する適切な方法を探しています。
class Profile < ActiveRecord::Base
attr_accessible :name
has_many :weights
accepts_nested_attributes_for :weights
end
class Tag < ActiveRecord::Base
attr_accessible :name
has_many :weights
end
class Weight < ActiveRecord::Base
attr_accessible :weight, :profile_id, :tag_id
belongs_to :profile
belongs_to :tag
end
プロファイルの編集フォームで、すべての重みを取得し、ユーザーがそれらを更新できるようにします。私は次のようなネストされた属性でこれを行うことができました:
<%= form_for [:admin, @profile] do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<div class='weights'>
<%= f.fields_for :weights do |ff| %>
<%= ff.label :weight %>
<%= ff.text_field :weight %>
<% end %>
</div>
<%= f.submit %>
<% end %>
重要なのは、実際には、各ウェイト行に関連付けられたtag_idのタイトルも取得したいということです(したがって、どのウェイトのタグが変更されているかがわかります)。この情報を取り込む方法がわかりません。このフォームを書き出す前に、何らかの結合を行う必要がありますか?これはばかげたアプローチですか?
みんな、ありがとう
-ニール