我正在使用rails 4,我在嵌套表格中遇到问题。我在我的应用程序中使用了嵌套表单,并通过它将值正确地存储到数据库中。我已经正确使用了强大的参数。但问题是,当我更新相同的表单时,嵌套的字段值不会显示在受尊重的文本框中。如何修复此问题? 这是我在我的控制器中使用的
def vendor_info_params
params.require(:vendor_info).permit(:name, :primary_contact_name, :phone, :address, :city,
:vendor_references_attributes=>[:id, :vendor_info_id, :name, :email])
end
这就是我在_form.html.erb
中使用的内容<%= f.fields_for :vendor_references, @vendor_info.vendor_references.build do |builder| %>
<%= render "vendor_references", :f => builder %>
<% end %>
答案 0 :(得分:1)
您在fields_for
:@vendor_info.vendor_references.build
build
方法是new
的别名,因此您的集合只包含一个新的供应商参考。如果您想查看所有参考文献,请执行以下操作:
<%= f.fields_for :vendor_references, @vendor_info.vendor_references do |builder| %>
<%= render "vendor_references", :f => builder %>
<% end %>
如果您需要为每个更新或新呼叫提供新参考,您可以在控制器方法中添加它,如:
def new
@vendor_info = VendorInfo.new
@vendor_info.vendor_references.build
end