gpt4 book ai didi

ruby-on-rails - Rails 公寓 gem config.excluded_models 包含 join_table users_roles

转载 作者:行者123 更新时间:2023-12-03 14:34:52 25 4
gpt4 key购买 nike

根据 railscast,我当前的设置是一个 Multi-Tenancy 应用程序 389-multitenancy-with-postgresql

我正在尝试将设置移动到使用 apartment gem 主要是因为它对处理跨多个模式的迁移有很好的支持。

我遇到的问题是我使用 cancan 和 rolify gems 导致我的角色模型具有此连接表:users_roles

role.rb
has_and_belongs_to_many :users, :join_table => :users_roles

我想将此连接表包含在排除模型的公寓 gem 配置中。这些模型被指定保留在全局(公共(public))模式中。这是我目前的设置

apartment.rb
config.excluded_models = ["User", "Tenant", "Role" ]

根据有关排除模型的公寓网站:请注意,模型名称的字符串表示现在是标准

那么当 users_roles 表不是模型而只是一个连接表时,我该如何将它包含在 excluded_models 列表中呢?

最佳答案

我发现结合 rolify 和 apartment gem 的方法是排除连接模型,正如您所做的那样,并在 rolify 中指定连接表名称,包括 public模式。

# apartment.rb

Apartment.configure do |config|
config.excluded_models = %w{User Tenant Role UsersRole}

# ...
end


# user.rb

class User < ActiveRecord::Base
rolify role_join_table_name: 'public.users_roles'

# ...
end

关于ruby-on-rails - Rails 公寓 gem config.excluded_models 包含 join_table users_roles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com