Es ist ziemlich seltsames Verhalten. Ich habe zwei Vorlagen für eine Aktion in EmployeeMailer
definiert.ActionMailer sendet beide Formate in einer einzigen E-Mail
employee_mailer/
salary_slips.html.erb
salary_slips.text.erb
und die folgenden ist der Code, ich verwende:
def salary_slips(salary_record)
mail.attachments['#{@record.employee.name}'] = { mime_type: 'application/pdf', content: @record.create_pdf_file.render }
mail to: @record.employee.official_email, subject: ['Salary Silp for', @date].join(' ')
end
Das Problem ist: Auf der Client-Seite, erhalte ich eine E-Mail, die mit .text.erb
Teil beginnt und schließt auch .html.erb
Teil Am Ende.
Die Entwicklung Protokolle sind als Fellows:
Rendered employee_mailer/salary_slips.html.erb (4.2ms)
Rendered employee_mailer/salary_slips.text.erb (0.5ms)
Rendered employee_mailer/salary_slips.text.erb (0.5ms)
Ich denke, es ist nur .html.erb
Teil machen sollte. Gibt es eine Möglichkeit, dass ich die Kontrolle übernehmen kann, und senden Sie nur .html.erb
Teil in einer einzigen E-Mail.
Hinweis:
ich bereits format
Block explizit verwendet habe, um die Formate in folgenden Weise angeben:
mail to: @record.employee.official_email, subject: ['Salary Slip for', @date].join(' ') do |format|
format.html { render 'salary_slips' }
format.text { render 'salary_slips' }
end
Ich habe gerade meine Frage bearbeitet. Ich habe versucht, was du gesagt hast, aber auch nicht geholfen. –
Vorlage = wahr? "Welcome_photographer": "welcome" Mail (: to => "E-Mail", : subject => "Welcome to ...", : template_name => template) versuchen, diese –
in diesem Fall, dass Sie Vorlage auswählen können was du rendern willst –