我有一个表单,使用Company
和Address
在一个表单中将属性保存到两个模型simple_nested_form_for
和嵌套模型simple_fields_for
。
属性:
Company:
-legal form
-uploads
Address:
-name
-website
在我的表单中,我希望更改字段的顺序
-name (Address model)
-legal form (Company model)
-website (Address model)
-uploads (Company model)
因此交换 form
属性和nested_field
属性
我尝试了以下内容,但这似乎不起作用。
<%= simple_nested_form_for @company do |f| %>
<%= f.simple_fields_for :address do |c| %>
<%= c.input :name %>
<% end %>
<%= f.input :legal_form %>
<%= f.simple_fields_for :address do |c| %>
<%= c.input :website %>
<% end %>
<%= f.input :uploads %>
<% end %>
我如何使这项工作?
答案 0 :(得分:3)
虽然看起来你的所有属性都没有排队(你说上传的地址和网站在你的属性列表中是公司的,但表格并不匹配)但仍然有一个简单的解决方案你的问题。
嵌套字段依赖于它们的构建器来表示将params的哪一部分放入其中。所以只需调用所需的构建器。
<%= simple_nested_form_for @company do |f| %>
<%= f.simple_fields_for :address do |c| %>
<%= c.input :name %>
<%= f.input :legal_form %>
<%= c.input :website %>
<%= f.input :uploads %>
<% end %>
<%= f.submit %>
<% end %>
在您需要公司字段的每个位置,您都会调用构建器f
,并且在每个位置都需要地址字段,您将调用构建器c
- 但是嵌套它们都在最低的共同点内,所以它们都可用。