spree 3.0结账时出现未知异常

Unknown exception during checking out in spree 3.0

我在登录后尝试结帐时遇到异常。

我得到以下异常

undefined method `show' for ["address", "delivery", "complete"]:Array

在 spree/checkout/edit 的下一行。html

  <%= render partial: 'spree/shared/google_checkout.js', locals: { order: @order, step_number: (@order.checkout_steps.show(@order.state) + 1) } %>

我知道这个问题不是很清楚,但有什么迹象表明我可以从哪里开始寻找?

您正在尝试在 Array 的实例上调用方法 show,ruby 数组没有这样的方法。

我相信你想获得当前订单状态对应的步数,那么你可以尝试使用Array#index方法。

示例:

@order.checkout_steps.index(@order.state) + 1

这将 return @order.checkout_steps 集合中 @order.state 的索引(如果它存在的话)。