按照本教程,我正在使用redis构建购物车:http://www.sitepoint.com/build-online-store-rails/
我正在使用带设计的guest_user,并通过方法" move_to(@user)"将访客用户的数据移动到新创建的用户,这可以正常工作。
在我的覆盖registrations_controller.rb中:
def create
@user = User.new(user_params)
if @user.save
current_user.move_to(@user) if current_user && current_user.guest?
sign_up("user", @user)
redirect_to root_path
else
render :new
end
end
在我的模型user.rb中:
def move_to(user)
order_products.update_all(user_id: user.id)
user.shipping_name = shipping_name
end
我无法弄清楚我应该在我的move_to(用户)方法中添加哪个Redis命令,以便" transfert"购物车到新创建的用户。
以下是我的用户模型中的redis命令:
#to show the number of items in cart
def cart_count
$redis.scard "cart#{id}"
end
#to calculate the total of the shopping cart
def cart_total_price
total_price = 0
get_cart_order_products.each { |order_product| total_price+= order_product.total_price }
total_price
end
#to get each of the order_products added to the shopping cart
def get_cart_order_products
cart_ids = $redis.smembers "cart#{id}"
OrderProduct.find(cart_ids)
end
我知道应该使用哪种语法将gest_user购物车送到新创建的用户?
非常感谢提前!