Я работаю над небольшим приложением, использующим 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'