我有nested
表格。 New
方法效果很好。但在我的edit
形式中,嵌套输入为空。这是我的表格:
<%= simple_form_for @company , url: admin_company_path(@company) do |f| %>
<%= f.simple_fields_for :licence do |p| %>
<%= p.input_field :number %>
<% end %>
<% end %>
我的公司型号:
accepts_nested_attributes_for :licence
has_one :licence , inverse_of: :company , :dependent => :destroy
我的许可证型号:
belongs_to :company
我在控制器中的编辑方法:
def edit
// i get company id with before_action
@company.build_licence
end
我在控制器中的新方法:
def new
@company = Company.new
@company.build_licence
end
new / create方法适用于此代码。但是编辑表单不会填充嵌套的模型输入。
答案 0 :(得分:1)
你说它没有填写模型输入......但是你正在使用build_license
每次创建一个新的空的...即使已经存在了......它会吹现有的一个。
您可能需要执行以下操作:
def edit
// i get company id with before_action
@company.licence || @company.build_licence
end