我有一个多租户的Rails应用程序。在租户记录中,我存储了特定于该租户的代码。
以下效果很好(PS - 范围不起作用):
class Worequest < ActiveRecord::Base
acts_as_tenant(:tenant)
def self.closed
where("statuscode_id = ?", ActsAsTenant.current_tenant.request_closed)
end
我真正需要的不是worequest.statuscode_id
,而是worequest.statuscode.position
。
我试过了:
def self.closed
self.statuscode.position = ActsAsTenant.current_tenant.request_closed
end
但是,这给出了这个错误:
undefined method `statuscode'
感谢您的帮助!
答案 0 :(得分:0)
您的方法是class method
。这意味着您的代码通过self
对象引用该类。
def self.closed
self.statuscode.position = ActsAsTenant.current_tenant.request_closed
end
self
此处为class Worequest
,且没有属性statuscode
。
你想用self.statuscode.position = ActsAsTenant.current_tenant.request_closed
做什么?