我想以这样的方式自定义Spree结帐工作流程:
示例:我有两种送货方式。用户应该选择其中之一。然后我想给他看一个地址页面。他应该只输入一个字段 - 其他字段,如国家,州,城市,电话,邮政编码,我想自动插入的地址。
现在我这样使用:
Spree::Order.state_machine.after_transition :to => :address do |order|
address = createDefaultAddress
order.ship_address = address
order.billing_address = address
order.save
end
createDefaultAddress - 这是我的函数,用默认数据创建Spree :: Address。
我的问题 - 当我添加语法来更改checkout_flow时,事件after_transition
不起作用。我用
Order.class_eval do
checkout_flow do
go_to_state :delivery
go_to_state :address
go_to_state :payment, :if => lambda { payment_required? }
go_to_state :confirm, :if => lambda { confirmation_required? }
go_to_state :complete
remove_transition :from => :delivery, :to => :confirm
end
end
我交换了送货和地址,但现在我的活动'after_transition来解决'停止工作。
我该如何解决?