我有一个嵌套表单,customer
它是一系列订单步骤的一部分 - 输入客户信息,输入交货信息等。当用户进入下一阶段时,它会自动创建客户,但如果他们随后返回该步骤,他们'在控制器使用时被迫再次填写客户详细信息@order.build_customer
。
返回该页面时,预填充嵌套客户字段的最简洁方法是什么?当用户点击“编辑”时,我应该将客户 ID 作为参数传递吗?或者尝试find_or_create
?
欢迎代码示例 - 我仍在学习......谢谢!
进入 OrdersController
def step_two
@user = User.find(params[:user_id])
@order = Order.find(params[:order_id])
@order.build_customer
end
step_two.html.haml 中的嵌套表单代码
= form_for @order, :url => user_order_step_two_path(@user, @order), do |f|
=f.fields_for :customer do |builder|
=builder.label :name, "Contact name:"
=builder.text_field :name
=builder.label :email, "Email:"
=builder.text_field :email
= f.label :recipient_name, "Recipients name:"
= f.text_field :recipient_name
= f.label :recipient_address_1, "Address:"
= f.text_field :recipient_address_1