Използвам spree, за да създам моето приложение за електронна търговия. То използва Devise gem за удостоверяване. Всеки път, когато се създава поръчка, произволен guest_token се свързва с нея. В моето приложение използвах функционалност, при която свързвам поръчка с имейл, докато правя плащане като гост, което вече има guest_token. Основният проблем е, че след като поръчката бъде завършена, guest_token е ако друг потребител влезе, тогава тази завършена поръчка се свързва с потребителя, тъй като неговият guest_token и завършената поръчка guest_token са еднакви. Това не се случва, ако потребителят влезе и след това направи поръчка. Какво правя грешно тук? Защо Devise генерира guest_token и го свързва с order in spree? Как да се отървем от това?
Каква е употребата на guest_token в spree или rails, докато използвате Devise
Отговори (1)
Това е посочено в документацията тук https://guides.spreecommerce.com/api/orders.html със следното:
Параметърът
order_token
ще работи за разрешаване на всяко действие за поръчка в API на Spree.
*Забележка: order_token
== guest_token
След това наличието на този токен ни позволява да използваме тази заявка за API, която получава подробностите за поръчката, където:
http://domainname.com/store/api/orders/R744620229?order_token=deMRSmjCxc5C1cwlkT6-Ow
- ‘R000000000’ => Номер на поръчка
- 'XXXXSmjCxc5C1cwlkT6-Ow' => Гост Токен за поръчка (наричан още order_token)
Също така ще трябва да добавим този ред Spree::Api::Config[:requires_authentication] = false
в config/initializers/spree.rb
, за да функционира API.
person
sushil10018
schedule
15.02.2016