2010-08-09 20 views
1

J'ai entendu que HAML a une fonction capture qui peut faire quelque chose comme Ruby on Rails render_to_string, mais ne peut pas trouver des informations à ce sujet. En fait, dans View, nous pouvons utiliser aString = render :partial ... et render fonctionne de la même manière que render_to_string (comme sur Rail 2.2.2). Mais y a-t-il aussi une façon HAML de le faire par capture? Oui, vous pouvez capturer le tampon Haml avec capture_haml.Est-ce que HAML peut faire une "capture", un peu comme un render_to_string dans Ruby on Rails?

Répondre

4

Vous devez include Haml::Helpers pour l'utiliser.

Cependant, je ne suis pas sûr si cela fonctionne pour capturer partiels. D'après ma compréhension, je dirais que Haml est indépendant de rendre et donc, render_to_string ou rend: partial devrait aussi travailler pour Haml.

Au moins, ce qui suit fonctionnera:

str = capture_haml do 
    haml_tag "p#feedback.success", "Your request has been successful." 
end 

str # => "<p id='feedback' class='success'>Your request has been successful.</p>"