Devise Confirmable - Приветственное сообщение - PullRequest
0 голосов
/ 21 ноября 2011

Таким образом, я настраиваю приветственное сообщение, когда пользователь регистрирует веб-сайт - ранее я настраивал его с помощью gmail (http://stackoverflow.com/questions/5793296/rails-actionmailer-w-devise-google-apps-in-development-mode),, но он будет использовать приложения Google), поэтому, если я прав, другой пользователь stackoverflow заявил установка похожа, так что это не проблема. Но так как я хочу только приветственное письмо, я подумал, могу ли я просто использовать подтверждающую настройку, чтобы они получили электронное письмо, а затем в конфигурации настроить его так, чтобы пользователь не нужно подтвердить, скажем, через 1000 лет или что-то большое, так что в основном это не электронное письмо с подтверждением (если есть лучший способ сделать это, я был бы признателен за такой ввод)

Ответы [ 2 ]

4 голосов
/ 12 января 2012

вам не нужно крутить функцию 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
0 голосов
/ 25 июля 2016

вероятно, очень ужасно поздно отвечать, но я думаю, что есть обратный вызов after_create, чтобы уменьшить решение выше, так как вам не нужно проверять, является ли это новой записью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...