On Rails 4.1 ..是Spree 2-3-stable的新手,并尝试各种各样的东西。我的测试商店工作正常,现在我正在尝试并将其集成到我的应用程序,这是一个预订网站。
在我的预订日历上,我希望用户点击预订链接并自动填充他们的购物车,然后直接显示他们的购物车。
假设我有一个狂欢产品,并且数据库中存在一个变体,并且current_user已登录(即spree_current_user存在)..我认为这是可能的,但似乎它甚至不会创建populator。 / p>
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>:
我正在尝试对Will正在做的事情here做类似的事情,但我在current_order对象上得到错误未定义的方法。我对代码的理解是它应该在必要时创建一个新订单,即如果一个订单不存在。不确定这里有什么用?任何指针都会非常精确。
答案 0 :(得分:1)
为此,您的控制器需要扩展Spree::StoreController
class BookingController < Spree::StoreController
这是在Spree中定义方法的地方: https://github.com/spree/spree/blob/master/core/lib/spree/core/controller_helpers/order.rb
此外,您可能需要before_filter :set_current_order
。