Hé les gars, premier poste ici, j'espère que vous pouvez m'aider.Rails - Comment enregistrer la sortie HTML d'une HAML partielle en tant que chaîne à envoyer à un service externe?
Nous générons une newsletter automatiquement toutes les 24 heures en utilisant une tâche de rake. Il y a une section en haut de la newsletter où un administrateur peut mettre un message personnalisé. L'écran que l'administrateur utilise a un aperçu en direct de la newsletter (ils insistaient sur ce point), rendu à l'aide d'un partial haml qui prend une collection. Pour générer et envoyer les emails, nous envoyons des documents XML à une API tierce qui contient (entre autres) le code HTML pour l'email que nous souhaitons générer. Ce que je veux faire est de sauver la sortie de ce haml partiel dans une tâche de rake, quelque chose de similaire aux fonctions tampon de _ _ _() de PHP. Est-il possible de faire quelque chose comme ce qui suit:
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>"
Je manque probablement quelque chose d'évident, et je ne pouvais penser à quelques façons de le faire, mais la plupart d'entre eux ne sont pas sèches et je ne veux pas générer beaucoup de html dans les helpers, les modèles, ou la tâche elle-même. Faites-moi savoir s'il y a un moyen pour moi d'accomplir cela. Merci.
Merci beaucoup, c'est exactement ce que je cherchais mais maintenant que vous le mentionnez, la mise en cache de la newsletter aurait beaucoup plus de sens pour mon application –