与えられた 3 つのモデル:
- 書類
- 資産
- 資産カテゴリ
ドキュメントはアセットに対して入れ子になった属性を受け入れ (ドキュメントには多くのアセットがあります)、アセットはアセット カテゴリに属します。
アセット カテゴリごとにアセット属性のフィールドを表示したいと考えています。
私は現在、次のようにこれを達成しています。コントローラ:
def new
@document = Document.new
@asset_categories = AssetCategory.all
@asset_categories.count.times { @document.assets.build }
end
ビュー (この例では Formtastic が提供するセマンティック_フィールド_for メソッドを使用していますが、これは fields_for のシン ラッパーにすぎません):
i=0
f.semantic_fields_for :assets do |asset_form|
asset_form.input :attachment, :label => @asset_categories[i].name
asset_form.input :asset_category, :as => :hidden, :value => @asset_categories[i].id
i+=1
end
これに対するよりクリーンなアプローチはありますか?私は一時変数 i があまり好きではありません。