activerecord-multi-tenant / acts_as_tenant 和 Active Admin
创始人
2024-07-24 19:30:42
0

以下是使用activerecord-multi-tenantacts_as_tenant解决多租户问题,并与Active Admin集成的代码示例:

  1. 首先,安装必需的gem:
gem 'activerecord-multi-tenant'
gem 'acts_as_tenant'
gem 'activeadmin'
  1. 在数据库中创建一个租户标识字段(例如account_id):
rails generate migration AddAccountIdToUsers account_id:integer:index
rake db:migrate
  1. User模型中使用acts_as_tenant
class User < ApplicationRecord
  acts_as_tenant(:account)
  # ...
end
  1. 在Active Admin的用户资源中使用ActiveAdmin.register
ActiveAdmin.register User do
  # ...
end
  1. 在Active Admin的控制器中设置当前租户:
ActiveAdmin.register User do
  controller do
    before_action :set_tenant

    private

    def set_tenant
      account = Account.find(params[:account_id])
      ActsAsTenant.current_tenant = account
    end
  end
end
  1. 在Active Admin界面中,可以通过嵌套资源来选择租户并过滤用户:
ActiveAdmin.register Account do
  sidebar "Users", only: :show do
    ul do
      account.users.each do |user|
        li link_to(user.name, admin_account_user_path(account, user))
      end
    end
  end
end

这样,你就可以在Active Admin界面中的用户资源中选择特定租户,并且只显示与该租户相关的用户。

请注意,这只是一个基本示例,你可能需要根据自己的需求进行调整和扩展。

相关内容

热门资讯

安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
app安卓系统登录不了,解锁登... 最近是不是你也遇到了这样的烦恼:手机里那个心爱的APP,突然就登录不上了?别急,让我来帮你一步步排查...
安卓系统拦截短信在哪,安卓系统... 你是不是也遇到了这种情况:手机里突然冒出了很多垃圾短信,烦不胜烦?别急,今天就来教你怎么在安卓系统里...
安卓系统要维护多久,安卓系统维... 你有没有想过,你的安卓手机里那个陪伴你度过了无数日夜的安卓系统,它究竟要陪伴你多久呢?这个问题,估计...
windows官网系统多少钱 Windows官网系统价格一览:了解正版Windows的购买成本Windows 11官方价格解析微软...
安卓系统如何卸载app,轻松掌... 手机里的App越来越多,是不是感觉内存不够用了?别急,今天就来教你怎么轻松卸载安卓系统里的App,让...
怎么复制照片安卓系统,操作步骤... 亲爱的手机控们,是不是有时候想把自己的手机照片分享给朋友,或者备份到电脑上呢?别急,今天就来教你怎么...
安卓系统应用怎么重装,安卓应用... 手机里的安卓应用突然罢工了,是不是让你头疼不已?别急,今天就来手把手教你如何重装安卓系统应用,让你的...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...