devise mailer를 재정 의하여 맞춤 메일러를 사용하고 있습니다. 잘 작동합니다. 그러나 일부 데이터를 메일러 템플릿에 전달해야 확인 이메일이 사용자에게 전송 될 때 일부 동적 콘텐츠가 포함됩니다. 세션, @ resource 및 current_user 메소드를 사용하여 시도했지만 둘 다 작동하지 않습니다. 그것을 할 방법이 있습니까? 컨트롤러Rails에서 맞춤 메일러를 고안하기 위해 인스턴스 변수를 전달하는 방법은 무엇입니까?
CustomMailer.confirmation_instructions(token, {custom_field: "abc"})
이의 사용자 정의 메일러
class CustomMailer < Devise::Mailer
helper :application # gives access to all helpers defined within `application_helper`.
include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
default template_path: 'devise/mailer' # to make sure that you mailer uses the devise views
def confirmation_instructions(record, token, opts={})
opts[:subject] = "Email Confirmation"
opts[:from] = '[email protected]'
@data = opts[:custom_field]
super
end
end
템플릿의 코드
We are happy to invite you as user of the <b> <%= @data %> </b>
감사합니다.
방금 편집 한 확인 이메일보기 나이 : 그럼
를 호출 어디서든 당신이 원하는 메일러에서 작동하도록 구성 설정을 변경 했습니까? – AntonTkachov
질문에 코드를 추가하십시오! – Niklas
@Niklas 코드를 추가하십시오. – john