Мне нужен процесс оформления заказа без этапов доставки и оплаты (работаю в магазине, который принимает наложенный платеж, поэтому мне нужен только этап адреса). Я использую Веселье 0.10.2
Вещи, которые я пробовал: В site_extension.rb
добавлен следующий конечный автомат
Checkout.state_machines[:state] = StateMachine::Machine.new(Checkout, :initial => 'address') do
after_transition :to => 'complete', :do => :complete_order
before_transition :to => 'complete', :do => :process_payment
event :next do
transition :to => 'complete', :from => 'address'
end
end
Нежелательные шаги удаляются (по крайней мере, визуально), но когда я отправляю адрес, он выдает следующую ошибку.
IndexError в CheckoutsController#update «платеж» — недопустимое имя
Глядя на трассировку и пару подобных ошибок позже, я решаю вслепую переопределить два метода из checkouts_controller.rb в site_extension.rb, чтобы ничего не делать (поскольку я полагаю, что они имеют дело с оплатой)
def clear_payments_if_in_payment_state
end
def object_params
end
При этом возникают ошибки проверки во всех полях адреса доставки и платежного адреса. У меня смутное представление о том, что мне нужно переопределить пару методов из checkouts_controller.rb. Если это понятие верно, то каковы эти методы.