2014-06-17 74 views
0

我不明白为什么我的是,file_field消失当我设置nested_attributesRails的嵌套的form_for

我的模型:

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是用于更新操作的。

回答

2

您必须构建一个关系对象asset。在控制器动作尝试:

def new 
    @item = Item.new 
    @item.build_asset 
end 

而对于编辑操作,如果有一个项目,一个资产的关联......那么只有嵌套的属性将出现

+0

谢谢,它的工作原理:) – Wordica