Rails - 从ActiveRecord模型中访问模型类方法

时间:2010-06-03 16:02:15

标签: ruby-on-rails ruby activerecord model

我有一个简单的独立模型,它不会从ActiveRecord或其他任何东西继承,称为SmsSender。顾名思义,它将短信发送到SMS网关。

我还有一个名为SmsMessage的ActiveRecord模型,它有一个名为deliver的实例方法:

def deliver
  SmsSender.deliver_message(self)
  self.update_attributes :status => "Sent"
end

以上是uninitialized constant SmsSender。我确信这很简单,但我如何从模型中访问SmsSender类?

1 个答案:

答案 0 :(得分:1)

Mabe ruby​​在当前班级中查找SmsSender 尝试使用(全局)scope resolution operator ::,如下所示:

def deliver
  ::SmsSender.deliver_message(self)
  self.update_attributes :status => "Sent"
end

还要确保包含SmsSender的文件(通过以下方法之一:require,load etc)