在订单邮件程序中查找订单ID我使用了order_id,但rails返回错误,如果我使用params相同。
在邮件程序中找到对象ID的方法是什么?
def order_confirmation(order)
order = Order.find(order_id)
@user = order.buyer_id
mail(to: @user.email, subject: 'Confirmação da Compra', &:html)
end
答案 0 :(得分:0)
您传递了order
个参数作为参数,但在使用之前,您没有通过order_id
或尝试导出它。
也许你应该尝试替换
order = Order.find(order_id)
与
order = Order.find(order.id)
答案 1 :(得分:0)
正如MarsAtomic所说,你正在通过“订单”传递整个订单
def order_confirmation(order) # order contains the order itself
order = Order.find(order_id) #order_id is not specified
@user = order.buyer_id
mail(to: @user.email, subject: 'Confirmação da Compra', &:html)
end
您想要发送您可以完成的订单的ID,如下所示:
def order_confirmation(order)
order_identification = order.order_id # now order contains the ID number of the order
@user = order.buyer_id
mail(to: @user.email, subject: 'Confirmação da Compra', &:html)
end
在此行中,“订单”已包含订单记录。如果你想要id(order.id),如果你想要buyer_id(order.buyer_id),如果你想要order_id(order.order_id):
def order_confirmation(order)
我建议将订单重命名为其他东西(我做了“order_identification”),因为您将订单作为参数传递,并且在里面使用相同的参数会覆盖它。