Не могу принять приглашение от devise_invitable - PullRequest
0 голосов
/ 19 марта 2019

Я работаю над небольшим приложением, использующим Devise с двумя моделями: Coach и Athlete (у тренера может быть несколько спортсменов). Сейчас я пытаюсь создать систему приглашений, используя DeviseInvitable gem.

Все выглядит хорошо: когда тренер нажимает на new_athlete_invitation_path, создается атлет с invitation_token и coach_id. Но если я попытаюсь принять приглашение, следуя пути из моих маршрутов и invitation_token, я получу перенаправленное сообщение:

Started GET "/athlete/invitation/accept?invitation_token=536dc1aee8faef0842a21f6c90fa68121e6c3858c5697215b8282474875fdff0" for 127.0.0.1 at 2019-03-19 11:34:34 +0100
Processing by Athletes::InvitationsController#edit as HTML
  Parameters: {"invitation_token"=>"536dc1aee8faef0842a21f6c90fa68121e6c3858c5697215b8282474875fdff0"}
  Athlete Load (1.0ms)  SELECT  "athletes".* FROM "athletes" WHERE "athletes"."invitation_token" = $1 ORDER BY "athletes"."id" ASC LIMIT $2  [["invitation_token", "4316731df92b3e5d369c17971b9db96aea1d33de8741ae5602f6065ef8174a5b"], ["LIMIT", 1]]
  ↳ /home/soykje/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/activerecord-5.2.2/lib/active_record/log_subscriber.rb:98
Redirected to http://localhost:3000/
Filter chain halted as :resource_from_invitation_token rendered or redirected
Completed 302 Found in 8ms (ActiveRecord: 3.0ms)

Я не могу выяснить причину этой проблемы ... Будет ли это связано с моей конфигурацией двух моделей? Я что-то пропустил?

Заранее спасибо за помощь!


Примечание: из моего Gemfile:

ruby '2.5.3'
gem 'rails', '~> 5.2.2'
gem 'devise', '~> 4.6', '>= 4.6.1'
gem 'devise_invitable', '~> 2.0'

1 Ответ

0 голосов
/ 19 марта 2019

Хорошо, это была моя ошибка: я пытался принять приглашение, используя незашифрованный токен.Просто добавив LetterOpener, я смог подтвердить приглашение, используя правильно сгенерированную ссылку. Всегда используйте сгенерированную ссылку!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...