公寓:未初始化的常量租户(NameError)

Apartment: uninitialized constant Tenant (NameError)

我第一次在 Rails 项目的 Ruby 中使用 Apartment Gem 进行多租户。我正在尝试为您的数字图书馆 Rails 应用程序中的用户创建多个租户。

我正在使用 Devise Gem 对应用程序进行身份验证,并且我已经生成了 并且我已经通过 运行 在我的终端中输入下面的代码生成了配置文件

rails generate devise:install

我还在我的终端

中使用下面的代码为Devise生成了一个User模型
rails generate devise User

对于公寓Gem,我已经安装了它并通过运行在我的终端[=18]中输入下面的代码生成了配置文件=]

bundle exec rails generate apartment:install

我还使用提供的文档根据需要配置了 config/initializers/apartment.rb 初始化程序文件,但是当我 运行 在我的终端中执行以下命令时

rails generate devise:views

Devise 生成视图,我得到以下错误

uninitialized constant Tenant (NameError)

我试图找出问题的原因,但我仍然没有幸运地修复它。我需要协助。提前谢谢你。

我后来意识到问题出在我最初对 Apartment Gem 的 config/initializers/apartment.rb 初始化文件进行的配置。

创建 User 模型后,我还将其添加到 config/initializers/apartment.rb 初始化文件中的排除模型列表中。

config.excluded_models = %w[Tenant User]

我应该将排除的模型列表中的 Tenant 替换为 User 模型。

config.excluded_models = %w[User]

这解决了我的问题。

N/B: 如果我将子域的模型名称命名为Tenant,那么我的配置可以这样保留

config.excluded_models = %w[Tenant]

但就我而言,我将多个租户的子域模型名称命名为 User

就这些了。

希望对您有所帮助