首页 > 解决方案 > 在 Rails 5 更新后,带有acts_as_tenant 的模型验证失败

问题描述

轨道 5.2.1 红宝石 2.5.1

我的模特

class InputForm < ApplicationRecord
 acts_as_tenant(:tenant)
end

InputForm.validators 显示

#<ActiveRecord::Validations::PresenceValidator:0x000000000baaae28
@attributes=[:tenant],
@options={:message=>:required}>

这不允许我在没有租户的情况下创建 InputForm。

注意:我没有任何配置设置(config.require_tenant = true)或像 config/initializers/acts_as_tenant.rb 这样的文件

我做错了什么?

标签: ruby-on-rails-5multi-tenantacts-as-tenant

解决方案


optional: true在指定acts_as_tenant 时是否尝试过这些选项?

class InputForm < ApplicationRecord
  acts_as_tenant :tenant, optional: true
end

或者

您可以像这样配置您的 rails 5 应用程序

# config/application.rb
...
module YourProject
  class Application < Rails::Application
    ...
    # Make the belongs_to value as false by default in Rails 5
    config.active_record.belongs_to_required_by_default = false
    ...
  end
end

这里也回复了。

https://github.com/ErwinM/acts_as_tenant/issues/196#issuecomment-460605781


推荐阅读