ActionMailer Preview 추천
ActionMailer::Preview
(이하 단순히 「미리 보기」)를 소개한다.만들기
특별한 명령은 없고, rails generate mailer 의 때에 동시에 작성된다.
$ rails g mailer sample
create app/mailers/sample_mailer.rb
invoke slim
create app/views/sample_mailer
invoke rspec
create spec/mailers/sample_spec.rb
create spec/mailers/previews/sample_preview.rb
이 중 spec/mailers/previews/sample_preview.rb
가 미리보기입니다. 내용을 보자.
spec/mailers/previews/sample_preview.rb# Preview all emails at http://localhost:3000/rails/mailers/sample
class SamplePreview < ActionMailer::Preview
end
ActionMailer::Preview 를 상속한 클래스인 것을 알 수 있다. 코멘트에 URL이 쓰여 있으므로, 서버를 시작해 액세스 해 본다.
메일 클래스 이름 "Sample"만 표시됩니다. 여기에서 내용을 구현한다.
사용법
준비
미리보기 전에 먼저 메일을 구현합니다. 심플하게 이런 느낌.
app/mailers/sample_mailer.rbclass SampleMailer < ApplicationMailer
def welcome(member)
@member = member
mail to: @member.email, subject: 'Sample mailer'
end
end
app/views/sample_mailer/welcome.text.erb<%= @member.name_sei + ' ' + @member.name_mei %> 様
ご登録ありがとうございます。
미리보기 구현
프리뷰에는, 메일 오브젝트를 return 하는 메소드를 구현한다. 간단한 예라면 이렇게 된다.
spec/mailers/previews/sample_preview.rb# Preview all emails at http://localhost:3000/rails/mailers/sample
class SamplePreview < ActionMailer::Preview
def welcome
member = Member.new(name_sei: '菅田', name_mei: '将暉', email: '[email protected]')
SampleMailer.welcome(member)
end
end
방금전의 URL에 액세스하면, 항목이 하나 증가하고 있다.
링크를 클릭하면 메일 내용을 확인할 수 있습니다.
응용편
미리보기에는 동일한 (※) 메일러를 호출하는 다른 메서드가 정의 될 수 있습니다. 조건에 따라 내용이 바뀌는 메일이라고 편리하다.
※다른 메일러를 호출해도 좋지만, 혼란의 원이므로 추천하지 않는다.
또한, seed 데이터가 있으면 그것도 이용할 수 있다.
spec/mailers/previews/sample_preview.rb# Preview all emails at http://localhost:3000/rails/mailers/sample
class SamplePreview < ActionMailer::Preview
def welcome
member = Member.new(name_sei: '菅田', name_mei: '将暉', email: '[email protected]')
SampleMailer.welcome(member)
end
def welcome_db
member = Member.first
SampleMailer.welcome(member)
end
end
사용소
메일을 보내는 조건이 복잡한 경우, 화면 조작을 튕겨 메일의 내용을 확인할 수 있다. 이것은 letter_opener에없는 이점입니다.
$ rails g mailer sample
create app/mailers/sample_mailer.rb
invoke slim
create app/views/sample_mailer
invoke rspec
create spec/mailers/sample_spec.rb
create spec/mailers/previews/sample_preview.rb
# Preview all emails at http://localhost:3000/rails/mailers/sample
class SamplePreview < ActionMailer::Preview
end
준비
미리보기 전에 먼저 메일을 구현합니다. 심플하게 이런 느낌.
app/mailers/sample_mailer.rb
class SampleMailer < ApplicationMailer
def welcome(member)
@member = member
mail to: @member.email, subject: 'Sample mailer'
end
end
app/views/sample_mailer/welcome.text.erb
<%= @member.name_sei + ' ' + @member.name_mei %> 様
ご登録ありがとうございます。
미리보기 구현
프리뷰에는, 메일 오브젝트를 return 하는 메소드를 구현한다. 간단한 예라면 이렇게 된다.
spec/mailers/previews/sample_preview.rb
# Preview all emails at http://localhost:3000/rails/mailers/sample
class SamplePreview < ActionMailer::Preview
def welcome
member = Member.new(name_sei: '菅田', name_mei: '将暉', email: '[email protected]')
SampleMailer.welcome(member)
end
end
방금전의 URL에 액세스하면, 항목이 하나 증가하고 있다.
링크를 클릭하면 메일 내용을 확인할 수 있습니다.
응용편
미리보기에는 동일한 (※) 메일러를 호출하는 다른 메서드가 정의 될 수 있습니다. 조건에 따라 내용이 바뀌는 메일이라고 편리하다.
※다른 메일러를 호출해도 좋지만, 혼란의 원이므로 추천하지 않는다.
또한, seed 데이터가 있으면 그것도 이용할 수 있다.
spec/mailers/previews/sample_preview.rb
# Preview all emails at http://localhost:3000/rails/mailers/sample
class SamplePreview < ActionMailer::Preview
def welcome
member = Member.new(name_sei: '菅田', name_mei: '将暉', email: '[email protected]')
SampleMailer.welcome(member)
end
def welcome_db
member = Member.first
SampleMailer.welcome(member)
end
end
사용소
메일을 보내는 조건이 복잡한 경우, 화면 조작을 튕겨 메일의 내용을 확인할 수 있다. 이것은 letter_opener에없는 이점입니다.
특히 업무 시스템의 경우 메일의 활약 기회는 아직 많을 것. 잘 사용하면 확인 작업이 크게 편해진다
ActionMailer::Preview
를 꼭 활용하자.
Reference
이 문제에 관하여(ActionMailer Preview 추천), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/port-development/items/ce30e580da064de07b4a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)