Ruby on rails Spree::OrderPopulator访问存储外部

Ruby on rails Spree::OrderPopulator访问存储外部,ruby-on-rails,spree,Ruby On Rails,Spree,在Rails 4.1。。对于Spree 2-3-stable来说是个新手,并且尝试各种各样的东西。我的测试商店工作得很好,现在我正在尝试将它集成到我的应用程序中,这是一个预订网站 在我的预订日历上,我希望用户点击预订链接,并自动填充他们的购物车,然后直接显示他们的购物车 因此,假设我有一个spree产品,数据库中存在一个变体,并且当前用户已登录(即spree\u当前用户存在)。。我认为这是可能的,但似乎它甚至不会创造人口 class BookingsController < Applica

在Rails 4.1。。对于Spree 2-3-stable来说是个新手,并且尝试各种各样的东西。我的测试商店工作得很好,现在我正在尝试将它集成到我的应用程序中,这是一个预订网站

在我的预订日历上,我希望用户点击预订链接,并自动填充他们的购物车,然后直接显示他们的购物车

因此,假设我有一个spree产品,数据库中存在一个变体,并且当前用户已登录(即spree\u当前用户存在)。。我认为这是可能的,但似乎它甚至不会创造人口

class BookingsController < ApplicationController
  def add_booking_to_cart        
    populator = Spree::OrderPopulator.new Spree::Order.current_order(create_order_if_necessary: true), current_currency
    # .. get variant related to booking
    # .. add varient to populator
  end
  #... rest of bookings controller
 end

Errors out with:
NoMethodError - undefined method `current_order' for #<Class:0x00000007d4fc68>:
class BookingsController
我正在尝试做一件与Will所做的类似的事情,但是在当前的顺序对象上得到了错误未定义的方法。我对代码的理解是,如果必要的话,它应该创建一个新的订单(如果不存在的话)。不知道该怎么办?任何指针都会非常精确


要使其正常工作,您的控制器需要扩展
Spree::StoreController

class BookingController < Spree::StoreController
class BookingController
这是在Spree中定义方法的地方:

此外,您可能需要在过滤器之前设置
:设置当前\u顺序