使用相关字段的Rails模型定义

时间:2014-02-20 22:05:23

标签: ruby-on-rails

我有一个多租户的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'

感谢您的帮助!

1 个答案:

答案 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做什么?