Я хотел бы отправлять электронные письма из таблицы каждую ночь в полночь, поэтому я создал модель для отслеживания всех сообщений, которые нужно отправить. Эта модель Communication
хранит, с какими буквами отправляется письмо, и из содержимого письма, которое должно быть отправлено как html. Пользователь вводит критерии соответствия, для которых предназначен письмо: состояние, страна, любимый цвет и т.д., Который возвращает список допустимых совпадений.
Этот список допустимых совпадений повторяется, и для каждого создается новое сообщение. Как визуализировать содержимое частичного представления для строки, которая будет храниться в базе данных для доставки в полночь.
@communication = Communication.new(params[:communication])
@communication.body = //Render Partial with local variables to string here
8 января 2010 г. Я реализовал решение, предложенное нейтрино, и мой код выглядит следующим образом:
@communication.message_body = render_to_string(
:partial => "letters/small_letter",
:locals => { :quote => @quote})
Недостатком этого подхода является то, что он требует контекста, поэтому он должен отображаться внутри контроллера, это исключает генерирование электронной почты с использованием файла рейка. Как указывали другие, подход использования модели связи может ввести некоторую ненужную сложность. В это время, поскольку условия, которые я использую для создания списка получателей, никогда не сохраняются, я решил продолжить использование модели связи.