Имеется три модели:
- Документ
- Актив
- AssetCategory
Документ Accept_nested_attributes_for активов (документ has_many assets)и актив принадлежит_ к категории активов.
Я хотел бы отобразить поле для атрибута актива для каждой категории активов.
В настоящее время я достигаю этого следующим образом,Контроллер:
def new
@document = Document.new
@asset_categories = AssetCategory.all
@asset_categories.count.times { @document.assets.build }
end
Представление (в этом примере используется метод semantic_fields_for, предоставленный Formtastic, но это всего лишь тонкая оболочка вокруг 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.