Как передать ruby переменных между. html .slim файлами - PullRequest
0 голосов
/ 15 января 2020

У меня есть шаблон электронной почты, в котором я храню и использую ruby переменные:

### mailer/_body.html.slim

ruby:
  start_day_number = @absence.starts_on.strftime('%d').to_i.ordinalize
  end_day_number = @absence.ends_on.strftime('%d').to_i.ordinalize
  start_date = @absence.starts_on.strftime('#{start_day_number} of %B (%A)')
  end_date = @absence.ends_on.strftime('#{end_day_number} of %B (%A)')
  type = @absence.type.capitalize
  status = @absence.status.capitalize

p class="details"
  | Starts: <b>#{start_date}</b><br />
  | Ends: <b>#{end_date}</b><br />
  | Type: <b>#{type}</b><br />
  | Status: <b>#{status}<b><br />

Есть ли более удобный и читаемый способ хранения этих переменных в другом файле .slim и передачи их в шаблон ?

Оптимально, я бы хотел, чтобы они хранились в каталоге раскладок следующим образом:

### layouts/mailer.html.slim

doctype html
html
  head
    meta charset="utf-8"
    css:
      ...
  body
    ruby:
      start_date = @absence.starts_on.strftime('#{start_day_number} of %B (%A)')
      end_date = @absence.ends_on.strftime('#{end_day_number} of %B (%A)')
      ...
    == yield

.. но это не сработало.

1 Ответ

0 голосов
/ 22 января 2020

Шаблон декоратора оказался именно тем, что мне было нужно. Спасибо, Том Лорд!

...