【发布时间】:2018-01-24 22:33:33
【问题描述】:
我有一个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 方法非常适合此代码。但编辑表单不会填充嵌套模型输入。
【问题讨论】:
-
正如答案所说,当您使用
build_licence时,它会添加一个新的空许可证,这就是您看不到任何数据的原因。你只需要设置@company,我猜你是在其他一些动作上做的——所以你的编辑方法应该是空的,它应该可以工作
标签: ruby-on-rails ruby ruby-on-rails-5 simple-form simple-form-for