Ответ 1
Попробуйте haml: простой помощник.
Dear
= @user.name,
Your username is
= @user.username
:plain
Your status is
= @user.status
* edit - вам нужно отложить текст haml, следующий за фильтром: plain, как обычно в haml.
Я просто пытаюсь отформатировать шаблон почтовой программы, созданный haml (text), и у меня есть небольшая трудность получить его для чтения нескольких разрывов строк. Например: я бы подумал
Dear
= @user.name,
Your username is
= @user.username
Your status is
= @user.status
Я предположил, что разрывы в нескольких строках будут прочитаны, но строка "Ваш статус" выводится в строке непосредственно под именем пользователя. (Да, многие разрывы строк - это преувеличение того, сколько я хочу, но все же)
Итак, вопрос: Разрывы строк в текстовых сообщениях haml.... erm, how?
Попробуйте haml: простой помощник.
Dear
= @user.name,
Your username is
= @user.username
:plain
Your status is
= @user.status
* edit - вам нужно отложить текст haml, следующий за фильтром: plain, как обычно в haml.
Вы также можете использовать \
или ==
:
Dear
= @user.name,
\
Your username is
= @user.username
\
\
\
\
Your status is
= @user.status
У этого есть дополнительное преимущество, позволяющее использовать интерполяцию, тогда как использование фильтра :plain
не будет.
Я бы предположил, что использование haml для текстовых шаблонов ничего не добавляет и в большинстве случаев делает их более сложными, чем простые старые шаблоны erb
. В конце концов, главная цель - сделать разметку простой и опустить необходимость закрытия тегов - это не относится к простому тексту.
Если вы отправляете многомильные электронные письма, ничего не мешает вам использовать html.haml
для HTML-шаблонов и text.erb
для простых текстовых сообщений, что сохранит ваши множественные разрывы строк:
Dear <%= @user.name %>,
Your username is <%= @user.username %>
Your status is <%= @user.status %>
Рассмотрим другой подход HAML, который является более разборчивым.
Dear #{@user.name},
Your username is #{@user.username}
\
\
\
Your status is #{@user.status}
Имя файла будет выглядеть как mailer.text.haml
Используйте тег %br
для строки прерывания. Также вы можете использовать %p
и %div
и добавить немного css:)