주문 절차의 일부인 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