我在rails4 app中发生了这个奇怪的事情:
我在event.rb
文件夹中创建了lib
。
在那里,我打电话给邮件:
def whatever
puts 'here'
UserMailer.welcome(user)
puts 'there'
end
正在调用
class UserMailer < ActionMailer::Base
def welcome(user)
@user = user
mail(to: @user.mailer, subject: 'Welcome to my app').deliver
end
end
奇怪的是,方法welcome
从未被调用,而whatever
被调用,而不会引发任何错误(日志就在那里)。
但如果我在控制台中调用UserMailer.welcome(User.first)
,则会发送它。
我做错了什么?是否无法从模块发送电子邮件?我应该将此代码移动到模型中?那会很奇怪。
提前致谢
答案 0 :(得分:0)
IMO邮件应该如下所示:
Login
并且应该以这种方式调用:
class UserMailer < ActionMailer::Base
def welcome(user)
@user = user
mail(to: @user.mailer, subject: 'Welcome to my app') #.deliver removed
end
end