Rails 4 devise_invitable "Указанный токен приглашения недействителен!" ошибка

Я следовал учебному пособию Райана Боланда по Rails, но столкнулся с проблемой devise_invitable.

Я создаю новую учетную запись и пользователя / владельца учетной записи на выбранном поддомене (mysubdomain.lvh.me:3000), с которого я могу просто отправить приглашение пользователя. Я открываю ссылку приглашения в инкогнито-сеансе Chrome, чтобы убедиться, что я не вошел в систему или не имею какой-либо текущий сеанс. После нажатия на ссылку приглашения я перенаправляюсь на страницу входа (mysubdomain.lvh.me:3000/users/sign_in) и вижу флэш-уведомление: "Предоставленный токен приглашения недействителен!"

Связанный с этим:

Недопустимый токен приглашения Rails 4 devise_invitable

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' }
Другие вопросы по тегам