我听说HAML有一个capture
函数可以执行类似Ruby on Rails的render_to_string
,但无法找到它的信息。实际上,在View中,我们可以使用aString = render :partial ...
,而render
实际上与render_to_string
的工作方式相同(如在Rail 2.2.2中)。但是,capture
还有一种HAML方式吗?
答案 0 :(得分:5)
是的,您可以使用capture_haml捕获Haml缓冲区。您必须include Haml::Helpers
才能使用它。
但是,我不确定它是否适用于捕获部分内容。根据我的理解,我会说Haml独立于渲染,因此,render_to_string或render:partial也适用于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>"