Rails 4 devise_invitable "Указанный токен приглашения недействителен!" ошибка
Я следовал учебному пособию Райана Боланда по Rails, но столкнулся с проблемой devise_invitable.
Я создаю новую учетную запись и пользователя / владельца учетной записи на выбранном поддомене (mysubdomain.lvh.me:3000), с которого я могу просто отправить приглашение пользователя. Я открываю ссылку приглашения в инкогнито-сеансе Chrome, чтобы убедиться, что я не вошел в систему или не имею какой-либо текущий сеанс. После нажатия на ссылку приглашения я перенаправляюсь на страницу входа (mysubdomain.lvh.me:3000/users/sign_in) и вижу флэш-уведомление: "Предоставленный токен приглашения недействителен!"
Связанный с этим:
1 ответ
[Решено]
Если у кого-то есть такая же проблема, переопределите контроллер приглашений и измените Арендатора на Квартиру:
# app/controllers/users/invitations_controller.rb
class Users::InvitationsController < Devise::InvitationsController
private
def resource_from_invitation_token
Apartment::Tenant.switch!(request.subdomain) //ADD THIS BABY!
unless params[:invitation_token] &&
self.resource = resource_class.find_by_invitation_token(params[:invitation_token], true)
set_flash_message(:alert, :invitation_token_invalid)
redirect_to after_sign_out_path_for(resource_name)
end
end
end
Не забудьте обновить свои маршруты также, как это:
# config/routes.rb
devise_for :users, :controllers => { :invitations => 'users/invitations' }