如何确保子域的as_as_tenant作用域可以使用devise重置密码

时间:2013-05-25 23:10:07

标签: ruby-on-rails devise acts-as-tenant

我正在使用devise和acts_as_tenant gem,似乎设计控制器不从ApplicationController(???)继承,因此无法访问set_current_tenant_by_subdomain

单击密码重置链接时,我不会通过子域获取租户范围。

那你怎么处理这个?有没有一种简单的方法来打开DeviseControllers来确保 调用set_current_tenant_by_subdomain?

非常感谢

1 个答案:

答案 0 :(得分:1)

有几个步骤可以解决这个问题。

  1. 自定义设计视图以包含租户详细信息。您可以使用rails generate devise:views并编辑生成的视图来完成此操作。
  2. 修补程序DeviseController,以便它包含set_current_tenant_by_subdomainDeviseControllerinherited by the device controllers(确认,注册,忘记密码等)
  3. 补丁看起来像这样:

    class DeviseController < Devise.parent_controller.constantize
      set_current_tenant_by_subdomain(:account, :subdomain)
    end