Ruby on rails 模块中的Rails设置宏
我试图在模块中设置属于、验证和默认作用域Ruby on rails 模块中的Rails设置宏,ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图在模块中设置属于、验证和默认作用域 module MultiTenancy class TenantNotSetError < StandardError ; end def self.included(model) class << model belongs_to :tenant validates :tenant_id, presence: true default_scope -> { r
module MultiTenancy
class TenantNotSetError < StandardError ; end
def self.included(model)
class << model
belongs_to :tenant
validates :tenant_id, presence: true
default_scope -> {
raise TenantNotSetError.new unless Tenant.current_tenant
where(tenant_id: Tenant.current_tenant.id)
}
def multi_tenanted?
true
end
end
end
end
模块多租户
类TenantNotSetError
我不断地得到一份工作
NoMethodError: undefined method `belongs_to' for #<Class:User>
NoMethodError:for的未定义方法“属于”#
错误
我做错了什么?这应该可以:
def self.included(base)
base.class_eval do
# your code goes here
end
end
它不起作用的原因是您试图在
User
的元类上调用属于,而不是在User
上调用 您的User
类是否继承自ActiveRecord::Base
?