레일스 앱에서 이상한 일을해야합니다. 사용자가 create 액션을 통해 Product 인스턴스를 만든 후에는 저장하고 Braintree 결제 수단 양식으로 리디렉션 한 다음 계정에 추가하지 않은 경우 Braintree 결제 방법 양식으로 리디렉션해야합니다. 생성물.레일 컨트롤러가 다른 컨트롤러의 양식으로 리디렉션 된 다음 저장된 모델로 리디렉션
def confirm
@result = Braintree::TransparentRedirect.confirm(request.query_string)
if @result.success?
current_user.braintree_customer_id = @result.customer.id
current_user.customer_added = true
current_user.first_name = @result.customer.first_name
current_user.last_name = @result.customer.last_name
current_user.save!
redirect_to ## not sure what to put here
elsif current_user.has_payment_info?
current_user.with_braintree_data!
_set_customer_edit_tr_data
render :action => "edit"
else
_set_customer_new_tr_data
render :action => "new"
end
end
내가 할 수 싶은 무엇인가
def create
@product = Product.new(product_params)
@product.set_user!(current_user)
if @product.save
if !current_user.braintree_customer_id?
redirect_to "/customer/new"
else
redirect_to view_item_path(@product.id)
end
else
flash.now[:alert] = "Woops, looks like something went wrong."
format.html {render :action => "new"}
end
end
브레인 고객 컨트롤러에 대한 확인 방법은 이것이다 :
여기에 제품은 동작을 만들거야?
'redirect_to @ result.customer.products.last' 시도해도 좋습니다 –