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