Эй, ребята, первый пост здесь, надеюсь, вы можете помочь мне.
Мы генерируем новостную рассылку автоматически каждые 24 часа, используя задачу rake. В верхней части новостной рассылки есть раздел, где администратор может разместить персонализированное сообщение. Экран, который использует администратор, имеет предварительный просмотр информационного бюллетеня (они настаивали на этом), отображаемого с использованием хамла, который принимает коллекцию.
Чтобы генерировать и отправлять электронные письма, мы отправляем XML-документы стороннему API, которые содержат (среди прочего) HTML-код для электронного письма, которое мы хотели бы сгенерировать.
То, что я хочу сделать, - это сохранить выходные данные этого партиала haml в задаче rake, что-то похожее на функции буферизации PHP _ _ _ (). Есть ли способ сделать что-то вроде следующего:
ob_start();
render :partial => newsletter, :collection => posts
newsletter_html = ob_get_contents()
xml = "
<Creative>
<Name>Our Newsletter -- #{Time.now.strftime('%m/%d/%Y')}</Name>
<HTML><html><body>#{newsletter_html}</body></html></HTML>
...
</Creative>"
Я, вероятно, упускаю что-то очевидное, и я мог бы придумать несколько способов сделать это, но большинство из них не СУХИЕ, и я не хочу генерировать много html в помощниках, моделях или Само задание.
Дайте мне знать, если есть способ для меня это сделать. Спасибо.