Прикрепить существующий заказ (order.email) для создания учетной записи, разработали? - PullRequest
0 голосов
/ 03 января 2019

Это сценарий, который я хотел бы выполнить:

  1. Пользователь создает заказ (вводит электронную почту в таблицу заказов).
  2. Пользователь отправляет заказподтверждение по электронной почте со ссылкой для регистрации.
  3. Если пользователь решит зарегистрироваться, он подключится к учетной записи.

Что потребуется для этого?

Я немного запутался, потому что Order уже создан, и у него не было бы current_user для модели заказа, которую нужно присоединить к модели User.Как бы мне тогда было это так, чтобы order.buyer_id (который используется для current_user Пользователя, который создает Заказ) затем связывался с пользователем, который должен быть подписан, который только что создал заказ.Как я мог как-то вставить эту информацию в ссылку "зарегистрироваться", которая отправляется?Чтобы как-то сказать: «Если это письмо зарегистрируется и будет подтверждено, станьте customer_id для указанного заказа»?

Кроме того, это хорошая практика?

Другой вариант:

Или у меня должно быть просто поле "email" и "пароль" при проверке, куда отправляется поле User перед токеном платежа, поэтому заказ прикрепляется к current_user?

у кого-нибудь есть другие идеи или что мне следует делать?

Кроме этого, единственное, что я сейчас делаю, это простая "регистрация перед заказом, если вы хотите сохранить свои заказы"

1 Ответ

0 голосов
/ 03 января 2019

Электронная почта уникальна для каждого пользователя, поэтому после регистрации пользователя и создания учетной записи вы можете выполнить небольшой запрос, в котором назначаете созданного пользователя для заказов. Это может быть выполнено в модели

class User < ActiveRecord::Base
  after_create :connect_orders

  ...

  def connect_orders
    Order.where(email: self.email).updated_all(buyer_id: self.id)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...