当我设置nested_attributes
时,我不明白为什么我的file_field会消失我的模特:
class Item < ActiveRecord::Base
attr_accessible :asset_attributes
has_one :asset
accepts_nested_attributes_for :asset
end
class Asset < ActiveRecord::Base
attr_accessible :item_id, :photo
belongs_to :item
end
我的HTML:
<%= form_for @item do |f| %>
<%= f.fields_for :asset do |asset| %>
<%= asset.file_field :photo %>
<% end %>
<% end %>
为什么,当我设置accept_nested_attributes_for :asset
时,file_fields会消失?
此form_for适用于现有的@item。我首先创建@item因为我需要item_id - 所以form_for用于更新操作。
答案 0 :(得分:2)
您必须构建asset
的关系对象。在控制器操作中尝试:
def new
@item = Item.new
@item.build_asset
end
对于编辑操作,如果项目和资产有关联...则只会出现嵌套属性