Rails / HAML: разрывы строк в текстовой почте - PullRequest
19 голосов
/ 16 мая 2011

Я просто пытаюсь отформатировать сгенерированный haml (текстовый) шаблон почтовой программы, и у меня возникли небольшие трудности с получением его для чтения нескольких разрывов строк. Например: я бы подумал

Dear
= @user.name,

Your username is
= @user.username




Your status is
= @user.status

Я предполагал, что будут прочитаны несколько разрывов строк, но строка «Ваш статус есть» появляется на строке непосредственно под именем пользователя. (Да, столько разрывов строк - это преувеличение того, сколько я хочу, но все же)

Итак, вопрос таков: разрывы строк в текстовых сообщениях хамла .... эм, как?

Ответы [ 5 ]

35 голосов
/ 19 ноября 2011

Вы также можете использовать \ или ==:

Dear
= @user.name,
\
Your username is
= @user.username
\
\
\
\
Your status is
= @user.status

Это дает дополнительное преимущество, позволяя вам использовать интерполяцию, тогда как использование фильтра :plain не будет.

14 голосов
/ 09 августа 2012

Я бы предположил, что использование haml для простых текстовых шаблонов ничего не добавляет и в большинстве случаев делает их более сложными, чем простые старые erb шаблоны.В конце концов, его основная цель - сделать разметку простой и исключить необходимость закрывать теги - это не относится к простому тексту.

Если вы отправляете электронные письма с несколькими адресами, ничто не мешает вам использовать html.haml для шаблонов HTML и text.erb для текстовых шаблонов, что сохранит ваши разрывы строк:

Dear <%= @user.name %>,

Your username is <%= @user.username %>




Your status is <%= @user.status %>
9 голосов
/ 16 мая 2011

Попробуйте haml's: plain helper.

Dear
= @user.name,

Your username is
= @user.username
:plain



  Your status is
  = @user.status

* edit - вам нужно сделать отступ для вашего текста haml, следуя фильтру: plain, как обычно в haml.

7 голосов
/ 09 марта 2013

Рассмотрим другой подход HAML, который является более разборчивым.

Dear #{@user.name},

Your username is #{@user.username}
\
\
\
Your status is #{@user.status}

Имя файла будет примерно таким: mailer.text.haml

0 голосов
/ 16 мая 2011

Используйте тег %br для разрыва строки. Также вы можете использовать %p и %div и добавить немного css:)

...