RoR4 uygulamam üzerinde Solidus taş dahil olmak üzere çalışıyorum. Frontend'in checkout_controller # update yöntemini (here'da bulunur) geçersiz kılmaya çalıştığımda.Solidus/Spree + Geçersiz kılma denetleyicisi
Denetleyiciyi Spree's documents'a göre geçersiz kıldım, ancak bana uninitialized constant OrderUpdateAttributes
hatası verdi. Ben (kendi çıkış sonrası) bir emir tamamlandıktan sonra biraz hareket yürütmek amacıyla bu yöntemi geçersiz kılmak için gerekli
Spree::CheckoutController.class_eval do
def update
if OrderUpdateAttributes.new(@order, update_params, request_env: request.headers.env).apply
@order.temporary_address = !params[:save_user_address]
success = if @order.state == 'confirm'
@order.complete
else
@order.next
end
if !success
flash[:error] = @order.errors.full_messages.join("\n")
redirect_to(checkout_state_path(@order.state)) && return
end
if @order.completed?
@current_order = nil
flash.notice = Spree.t(:order_processed_successfully)
flash['order_completed'] = true
redirect_to completion_route
else
redirect_to checkout_state_path(@order.state)
end
else
render :edit
end
end
/app/controllers/spree/checkout_controller_decorator.rb
olarak
CheckoutController#update