Проблема : У меня есть страница подтверждения заказа после размещения заказа. Маршрут выглядит так:
resources :orders do
get 'order_confirmation', :on => :member
end
Ссылка :
example.com/orders/1001/order_confirmation
Вместо я хотел бы создать уникальную ссылку, подобную этой:
example.com/orders/1001/order_confirmation/79sa9182-sd9871234123456f
Поэтому, если кто-то делает заказ на заказ 1002, он не может сказать: «Эй, дай мне посмотреть, что сделал заказ 1001».
Кстати, подтверждение_приказа находится в контроллере Orders , как это :
def order_confirmation
@order = Order.find(params[:id])
end
У меня есть такая защита для пользователей, вошедших в систему с помощью CanCanCan, но я создал эту страницу order_confirmation для людей, которые не создают учетные записи и, вероятно, никогда не будут создавать учетную запись.
Как я могу сделать это так, как ссылка:
example.com/orders/1001/order_confirmation/79sa9182-sd9871234123456f
Генерируется для подтверждения заказа и ссылок, подобных этой:
example.com/orders/1001/order_confirmation/
не может быть доступен никому, даже покупателю?
Я нашел это: Защищенная ссылка для обмена в Ruby on Rails
Но я не уверен, как бы я применил это для страницы подтверждения заказа, так как у нее нет собственной таблицы или модели. Это уже в OrdersController