вам не нужно крутить функцию Confirmable, чтобы достичь этого, вы можете сделать это более элегантно с 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
Наконец, вам нужно настроить рельсы для регистрации наблюдателя.
config / application.rb (только выдержка)
config.active_record.observers = :user_observer