在development.rb
中,我有以下ActionMailer设置:
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "gmail.com",
authentication: "plain",
enable_starttls_auto: true,
user_name: "username@gmail.com",
password: "password"
}
在notifier.rb
(我的邮件)中,我有以下定义:
def user_email(user)
@user = User.find(user)
mail(:to => user.email, :subject => "Welcome to me.")
end
def test_email
mail(:to => "here@there.com", :subject => "Test mail", :body => "Ain't I shapely?")
end
在控制台中运行Notifier.test_email.deliver
会得到以下信息:wrong number of arguments (0 for 1)
。
在控制台中运行Notifier.user_email(2).deliver
会得到以下信息:undefined method 'user_email' for Notifier:Class
。
我是不是错过了一些显而易见的东西?Gmail的设置都是正确的,但显然问题就在那之前。
重新启动服务器修复了它。胡说八道。