0
我有一个简单的独立模型,它不从ActiveRecord或其他任何东西继承,称为SmsSender
。顾名思义,它将短信发送到短信网关。Rails - 从ActiveRecord模型中访问模型类方法
我也有称为SmsMessage
ActiveRecord模型,其具有称为deliver
一个实例方法:
def deliver
SmsSender.deliver_message(self)
self.update_attributes :status => "Sent"
end
上面正在返回uninitialized constant SmsSender
。我确信这很简单,但是如何从我的模型中访问SmsSender类?
哪里是'被定义SmsSender' ?你的树中的实际文件在哪里?如果它在一个特殊的目录中,你是否将该目录添加到加载路径中? – x1a4 2010-06-03 16:03:57
它在沼气标准模型路径中。在应用程序的其他地方,我可以从控制器访问SmsSender,并且工作正常。这部分功能被开发为与'delayed_job'一起使用,所以我不知道这对于什么或者没有加载有什么影响? – aaronrussell 2010-06-03 16:11:58
啊,傻了!我只是发现了我的错误。我实际上称为SMSSender类(注意大写)和文件名“sms_sender.rb”。我相信Rails对这种事情很敏感。只需根据我的帖子将该类重命名为“SmsSender”,现在该类正在被正确加载。 – aaronrussell 2010-06-03 16:37:33