Rails 5+에서 활동 알림 및 부트스트랩 이메일 통합

최근 우리 플랫폼에서 플랫폼 내 알림 및 이메일 알림에 activity_notifications을 사용하기 시작했습니다. 그러나 우리는 이미 스타일이 지정된 템플릿 파일을 사용하고 싶었습니다.

같은 문제로 어려움을 겪고 있다면 제대로 찾아오셨습니다.

bootstrap_emailactivity_notifications을 통합하는 방법을 알아냈습니다.

나는 activity_notification 이메일과 bootstrap_email의 기본 설정을 안내하고 모든 activity_notifications에 bootstrap_email 스타일을 사용합니다.

1. ActivityNotification 설정하기

플랫폼 내 알림을 설정하려면 gemdocumentation을 따르세요.

2. 이메일 알림 설정

이메일 알림을 설정하려면 gem의 documentation 을 따르십시오.

문서를 따르는 동안 다음을 포함해야 합니다.
acts_as_target email: :email, email_allowed: :confirmed_at
대상 사용자 모델에서

이 두 단계가 준비되면 이메일 보내기를 시작할 수 있습니다.

3. 부트스트랩 이메일 설정

이메일의 부트스트랩을 설정하려면 gemdocumentation을 따르세요.

이제 플랫폼에서 두 라이브러리를 모두 성공적으로 활성화했습니다. 이제 둘을 연결해야 할 때입니다.

4. activity_notification에 커스텀 메일러 사용하기

activity_notification을 구성하는 동안 activity_notification의 모든 설정을 정의하는 config/activity_notification.rb에서 이에 대한 구성 파일을 생성해야 합니다.

사용자 정의 메일러 파일을 사용하려면 아래 줄config/activity_notification.rb을 업데이트하세요.
config.mailer = "ActivityNotificationMailer"
그리고 app/mailers/activity_notification_mailer.rb에서 새 파일을 생성합니다.

이 파일을 사용하여 bootstrap_email 함수를 사용하는 대신 devise 함수를 사용하도록 gem의 함수 중 하나를 재정의할 것입니다.

class ActivityNotificationMailer < ActivityNotification::Mailer
  layout 'whatever_layout_you_are_using_for_emails'

  def send_mail(headers, fallback = nil)
    begin
      make_bootstrap_mail headers
    rescue ActionView::MissingTemplate => e
      if fallback.present?
        make_bootstrap_mail headers.merge(template_name: fallback)
      else
        raise e
      end
    end
  end

이 파일과 TADA를 저장하면 플랫폼에서 자동 부트스트랩 스타일의 이메일이 전송됩니다.

읽어주셔서 감사합니다. 누군가가 도움이되기를 바랍니다. 그리고 당신이 누군가라면 반응과 코멘트를 통해 우리에게 약간의 사랑을 보여주는 것을 잊지 마십시오. :)

좋은 웹페이지 즐겨찾기