【发布时间】:2014-07-23 15:09:35
【问题描述】:
我有一个与 Spree API 集成的应用程序。在 Spree API 的默认流程中,当订单根据 core.app.models.spree.order.checkout.rb 的第 90 行转换为交付时,会创建发货:
before_transition :to => :delivery, :do => :create_proposed_shipments
因为我在创建订单的初始发布期间指定了行项目和送货地址,所以我希望 Spree 也创建发货。
到目前为止,我创建了一个 orders_controller_decorator,其中我使用原始创建代码以及对 create_proposed_shipments 的调用覆盖了 create 方法,但我是从我从原始 create 方法复制的代码中获取 NameError (uninitialized constant Order)。
我目前的orders_controller_decorator:
Spree::Api::OrdersController.class_eval do
def create
authorize! :create, Order
@order = Spree::Core::Importer::Order.import(current_api_user, order_params)
@order.create_proposed_shipments
respond_with(@order, default_template: :show, status: 201)
end
end
【问题讨论】:
标签: ruby-on-rails spree