Сохранение объекта Comment после успешного входа в oauth с помощью Rails omniauth - PullRequest
0 голосов
/ 18 февраля 2011

Я хочу, чтобы rails обновлял или сохранял Комментарий после того, как пользователь сделал успешную регистрацию через omniauth (Twitter, Facebook или OpenID).

  1. A (не вошел в систему)) пользователь заполняет форму комментария.Сообщения, которые.
  2. Пользователь получает страницу со всевозможными правами, на которой он может выбрать метод входа: Twitter, Facebook или OpenID.
  3. После успешного возврата пользователя из oAuth я хочу сохранить(или опубликовать) Комментарий.

У меня это работает, я использую переменную сеанса, но это не очень потокобезопасно: оно сломается, если у пользователя будет открыто несколько вкладок комментариев в одном сеансе.

Должен ли я сохранить комментарий к базе данных в неопубликованном состоянии и включить его после возврата?И если да, то как узнать, как переключить правильный комментарий?Проблема аналогична вышеупомянутой проблеме сеанса.

Есть ли какой-то способ просто передать объект комментария вместе с omniauth и получить его обратно, когда пользователь вернется после успешного входа в систему?

Или я могу передать некоторую хеш-строку, которую смогу извлечь после успешного возврата?

Редактировать: завершить переписать, чтобы упростить и прояснить вопрос.

1 Ответ

1 голос
/ 24 февраля 2011

Сохранить идентификатор сообщения вместе с текстом комментария в сессии. При успешной аутентификации найдите сообщение, используя сохраненный идентификатор, и создайте для него объект комментария.

Обновление - В случае сбоя аутентификации удалите все такие записи.

...