给定三个模型:
- 文档
- 资产
- 资产类别
一个文档接受_nested_attributes_for assets(一个文档 has_many assets),并且一个资产 belongs_to 一个资产类别。
我想为每个资产类别显示一个资产属性的字段。
我目前正在实现以下目标。控制器:
def new
@document = Document.new
@asset_categories = AssetCategory.all
@asset_categories.count.times { @document.assets.build }
end
查看(此示例使用 Formtastic 提供的 semantic_fields_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。