Согласно GitHub Page для axlsx
драгоценного камня, я должен использовать этот синтаксис, чтобы сделать вид XLSX в файл и прикрепить его:Прикрепление AXLSX вид на почту Rails Mailer
xlsx = render_to_string handlers: [:axlsx], formats: [:xlsx], template: "users/export", locals: {users: users}
attachments["Users.xlsx"] = {mime_type: Mime::XLSX, content: xlsx}
Вот мой метод почты:
xlsx = render_to_string(handlers: [:axlsx], formats: [:xlsx], template: 'v1/reports/reportxyz', params: {start_date: '2016-09-12', period: 'weekly'})
attachments["report.xlsx"] = {content: xlsx, mime_type: Mime::XLSX}
mail(to: "[email protected]", subject: "Report", format: "text")
Однако я получаю эту ошибку, когда я пытаюсь вызвать метод почтовой программы:
ActionView::MissingTemplate: Missing template layouts/mailer with {:locale=>[:en], :formats=>[:xlsx], :variants=>[], :handlers=>[:axlsx]}. Searched in:
* "path/to/project/app/views"
Почему метод render_to_string
влияет на то, что почтовый ящик просматривает почтовой программой? locgially У меня нет файла mailer.xlsx.axlsx
в моей папке app/views/layouts
, но, скорее, mailer.text.erb
Я стараюсь использовать как и другие электронные письма.
EDIT
Я изменил рендер строку xlsx = render_to_string(template: 'v1/reports/azamara_social', params: {start_date: '2016-09-12', period: 'weekly'})
И теперь, кажется, попробовать и сделать xlsx
вид, но, конечно, получает nil:NilClass
ошибки, когда xlsx
вид пытается ссылаться на переменные экземпляра, определенные в отчетах контроллер.