狂欢修改结帐流程

时间:2015-06-17 23:20:25

标签: ruby-on-rails spree

我想以这样的方式自定义Spree结帐工作流程:

  1. 我想交换地址步骤和交付步骤。
  2. 我想自动在地址步骤中填写一些字段并将其隐藏起来。
  3. 示例:我有两种送货方式。用户应该选择其中之一。然后我想给他看一个地址页面。他应该只输入一个字段 - 其他字段,如国家,州,城市,电话,邮政编码,我想自动插入的地址。

    现在我这样使用:

    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来解决'停止工作。

    我该如何解决?

0 个答案:

没有答案