У меня есть модель User, которой управляет Devise - то есть все пользователи имеют электронную почту
addy / username / pass и т. д. Если пользователь входит в систему, на основании своих разрешений он получает доступ к
разные вещи. Это отлично работает.
Но у меня есть модель Client, которой я хотел бы предоставить токен, чтобы они могли получить доступ к одному конкретному действию на одном конкретном контроллере.
В идеале я хотел бы создать токен для клиента john.brown@abc.com
(имейте в виду, что это не User.email, а Client.email), чтобы они могли получить доступ к действию compare
для моего
Контроллер stages
, у которого stage имеет идентификатор 7
.
Я не хочу, чтобы они имели доступ к любым другим этапам, кроме id7, и я не хочу, чтобы им приходилось входить в систему. То есть, когда они получают доступ к этому конкретному URL (например, myapp.com/stages/7/compare?token={unique token generated by devise}
) они могут видеть это. Но они не могут взять этот жетон и перейти к stages/8/compare
, например.
Могу ли я сделать это с помощью Devise?
Если так, то как?