0
背景信息:嗨,我有一个使用Spree 3.2.0.rc1 gem的rails 5.0.3应用程序,每个功能都工作正常,而且我已经只修改了一些意见。目标:我的商店总共销售的商品少于12种,所以我想让我的客户有更快的方式将商品添加到购物车中。在单个提交中添加多个订单项,Spree 3,RoR 5
问题:我如何才能修改购物车,这样我可以用不同的多行项添加到购物车提交按钮
谢谢!
背景信息:嗨,我有一个使用Spree 3.2.0.rc1 gem的rails 5.0.3应用程序,每个功能都工作正常,而且我已经只修改了一些意见。目标:我的商店总共销售的商品少于12种,所以我想让我的客户有更快的方式将商品添加到购物车中。在单个提交中添加多个订单项,Spree 3,RoR 5
问题:我如何才能修改购物车,这样我可以用不同的多行项添加到购物车提交按钮
谢谢!
为了实现您的目标,您可以在checkout controller
中创建一个单独的操作,比如说checkout
并在那里定义您的逻辑。
这将通过移动
Variant.all.each do |variant|
begin
order.contents.add(variant)
rescue ActiveRecord::RecordInvalid => e
errors << e.record.errors.full_messages.join(", ")
end
end
这个逻辑在variant model
一个类的方法类似于下面
def checkout
order = current_order(create_order_if_necessary: true)
errors = []
Variant.all.each do |variant|
begin
order.contents.add(variant)
rescue ActiveRecord::RecordInvalid => e
errors << e.record.errors.full_messages.join(", ")
end
end
if errors.present?
flash[:error] = errors
redirect_back_or_default(spree.root_path)
else
flash[:success] = 'All Products added'
respond_with(order) do |format|
format.html { redirect_to cart_path }
end
end
end
您仍然可以重构这个代码中给出的代码片段。
请让我知道如果你仍然面临任何问题
谢谢,这不是我想到的,但我相信这将有助于未来! 我最终做的是修改单例页面以便将其显示为每个产品的部分,这样我就可以直接从主页添加任何产品的任何变体。 –