我一直在关注Ryan Boland的Rails多租户教程,但是遇到了devise_invitable。
我在所选子域(mysubdomain.lvh.me:3000)上创建了一个新帐户和用户/帐户所有者,我可以从中发送用户邀请。我在隐身Chrome会话中打开邀请链接,以确保我没有登录或有任何当前会话。点击邀请链接后,我被重定向到登录页面(mysubdomain.lvh.me:3000/users/sign_in)并看到一个闪光通知:"提供的邀请令牌无效!"
与此相关:
答案 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' }