【发布时间】:2015-05-28 23:17:12
【问题描述】:
在TestObserver 类中,我有self.delivered_email(message) 方法,消息是action mailer 实例,我在self.delivered_email 方法中调用get_category 方法。但我收到错误消息“TestObserver:Class 的未定义方法 `get_category'”。问题是什么,我该如何解决?我在 Rails 中使用了观察者模式。
class TestObserver
def self.delivered_email(message)
begin
category = get_category(message)
# do something here
rescue => ex
# do something here
end
end
private
def get_category(message)
# do something here
end
end
ActionMailer::Base.register_observer(TestObserver)
【问题讨论】:
-
您从类的角度调用
get_category,因此您需要将该方法定义为类方法。就做def self.get_category(message); end
标签: ruby-on-rails ruby