【发布时间】:2019-06-01 02:20:08
【问题描述】:
问题:当用户(登录时)创建订单时,它们会被发送到 OrderControllers 显示页面,该页面只有在买卖双方都登录后才能访问。从这里他们可以编辑/更新他们的订单等。
我们还有guest_user,一个没有登录的人,我需要在浏览器中确认订单(我正在使用 Devise gem)
我创建了一个方法:
def order_confirmation
在 OrdersController 中。
不过,我怎样才能将它嵌套在订单中,以便页面知道要显示哪个订单。
这是否可以在它自己的控制器下嵌套方法,或者我应该只创建一个小控制器只用于订单确认?
例如:example.com/orders/1/order-confirmation
除了嵌套和创建控制器之外,也许还有更好的方法来解决这个问题?
我试过了:
resources :orders do
collection do
get 'order_confirmation'
end
end
与:
def order_confirmation
@order = Order.all.find(params[:id])
end
但它不会像我想要的那样工作。
rake 路线给了我:
order_confirmation_orders GET /orders/order_confirmation(.:format)
我怎样才能得到?:
order_order_confirmation_orders GET /orders/id/order_confirmation(.:format)
【问题讨论】:
标签: ruby-on-rails ruby