1

与えられた 3 つのモデル:

  1. 書類
  2. 資産
  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 があまり好きではありません。

4

1 に答える 1