我正在构建一个以 ActiveAdmin 作为主管理界面的多租户应用程序。我已经使用acts_as_tenant gem 很好地完成了数据分离。
我使用 AdminUser 模型作为所有用户的用户模型对象。
为了添加其他用户,AdminUser 也被限定为租户。
这是放弃登录,因为当 ActiveAdmin/Devise 尝试进行身份验证时,我假设它首先点击 find_tenant 过滤器,如下所示:
class ApplicationController
set_current_tenant_through_filter
before_filter :find_tenant
def find_tenant
if admin_user_signed_in?
set_current_tenant(Company.find(current_admin_user.company_id))
end
end
不知道如何解决这个问题......我希望用户登录,然后应用程序从登录用户那里获取 company_id 并设置租户,ActiveAdmin 上显示的所有数据都通过该租户进行范围(这部分通过如果我可以通过登录,acts_as_tenant gem)。
谢谢