Rails 4 devise_invitable"提供的邀请令牌无效!"错误

时间:2016-04-02 22:42:31

标签: ruby-on-rails ruby-on-rails-4 devise devise-invitable

我一直在关注Ryan Boland的Rails多租户教程,但是遇到了devise_invitable。

我在所选子域(mysubdomain.lvh.me:3000)上创建了一个新帐户和用户/帐户所有者,我可以从中发送用户邀请。我在隐身Chrome会话中打开邀请链接,以确保我没有登录或有任何当前会话。点击邀请链接后,我被重定向到登录页面(mysubdomain.lvh.me:3000/users/sign_in)并看到一个闪光通知:"提供的邀请令牌无效!"

与此相关:

Rails 4 devise_invitable invitation token invalid

1 个答案:

答案 0 :(得分:0)

<强> [解决]

如果有人遇到同样的问题,请覆盖邀请控制器并使用公寓更改租户:

# 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' }