Может ли HAML сделать «захват», вроде как render_to_string в Ruby on Rails? - PullRequest
1 голос
/ 10 августа 2010

Я слышал, что в HAML есть функция capture, которая может выполнять что-то вроде render_to_string в Ruby on Rails, но не может найти информацию о ней. На самом деле, в View мы можем использовать aString = render :partial ... и render на самом деле работает так же, как render_to_string (как в Rail 2.2.2). Но есть ли также ХАМЛ-способ сделать это с помощью capture?

1 Ответ

5 голосов
/ 27 августа 2010

Да, вы можете захватить буфер Haml с помощью capture_haml .Вы должны include Haml::Helpers, чтобы использовать его.

Однако я не уверен, работает ли он для захвата частичных.Насколько я понимаю, я бы сказал, что Haml не зависит от render и, следовательно, render_to_string или render: частичный также должен работать для Haml.

По крайней мере, будет работать следующее:

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>"
...