所以我在用户注册网站时设置了欢迎消息 - 之前我使用gmail进行了设置(http://stackoverflow.com/questions/5793296/rails-actionmailer-w-devise-google-应用程序在开发模式),但它将使用谷歌应用程序 - 所以如果我是正确的另一个stackoverflow用户声称设置是类似的,所以这不是一个问题。但是因为我只想要一封欢迎电子邮件,我想我可以使用确认设置让他们收到一封电子邮件,然后在配置中设置它以便用户不必确认直到说了1000年之后大,所以基本上它不是一个真正的确认电子邮件? (如果有更好的方法,我会很感激这样的输入)
答案 0 :(得分:4)
您无需扭转“可确认”功能即可实现此目的,您可以使用ActiveRecord::Observer更优雅地完成此操作。基本上,当您注册/保存用户时,观察者将收到通知,您可以从那里致电邮件。你可以在下面看到一个例子。
应用/邮寄者/ user_mailer.rb 强>
class UserMailer < ActionMailer::Base
default from: "something@something.com"
def welcome_mail(email)
mail(:to => email, :subject => "Welcome to Something").deliver
end
end
应用/模型/ user_observer.rb 强>
class UserObserver < ActiveRecord::Observer
# We check if it's a new user
def before_save(user)
@is_new_record = user.new_record?
true
end
def after_save(user)
# If it's not a new user we don't want to send them another welcome email
if @is_new_record then
UserMailer.welcome_mail(user.email)
end
end
end
最后,您需要配置rails来注册观察者。
config / application.rb (仅提取)
config.active_record.observers = :user_observer
答案 1 :(得分:0)
它的回答可能非常晚,但我认为还有以后的回调来缩小上面的解决方案,因为你不需要检查它是否是新记录!