我研究了Ruby类、实例方法之间的主要区别,发现最大的区别是我们不需要创建该类的实例,可以直接在类名上调用该方法。
class Notifier
def reminder_to_unconfirmed_user(user)
headers['X-SMTPAPI'] = '{"category": "confirmation_reminder"}'
@user = user
mail(:to => @user["email"], :subject => "confirmation instructions reminder")
end
end
所以,在我的Notifier
类中,我定义了一个实例方法reminder_to_unconfirmed_user
来向未确认的用户发送电子邮件,当我运行Notifier.reminder_to_unconfirmed_user(User.last)
时,它会被调用,前提是它是一个实例方法而不是类方法。