Dentro de un filtro Haml usted usa la interpolación de cadenas para incluir el código Ruby en su marcado. Por ejemplo:
require 'haml'
@x = 42
Haml::Engine.new("%p= @x").render(self) #=> "<p>42</p>\n"
Haml::Engine.new(":textile\n\t= @x").render(self) #=> "<p>= @x</p>\n"
Haml::Engine.new(":textile\n\t\#{@x}").render(self) #=> "<p>42</p>\n"
@content = "alpha\n\n#hi **mom**"
Haml::Engine.new(":textile\n\t\#{@content}").render(self)
#=> "<p>alpha</p>\n<p>#hi <b>mom</b></p>\n"
Editar: Mi respuesta anterior era engañosa con respecto a los saltos de línea en el contenido, debido a mi prueba de fallas. Como se vio anteriormente, las nuevas líneas en el contenido incluido se manejan bien directamente.
Como tal, su plantilla Haml simplemente debe tener este aspecto:
- @articles.each do |article|
%article.post
%header=article.name
:textile
#{article.content}
%footer
Tenga en cuenta que he quitado su %p
etiqueta que rodea su margen de beneficio, como la materia textil presenta sus propios envoltorios de párrafo (incluso para el contenido de una sola línea)
@wizztjh Mi respuesta fue incorrecta; Consulte el ejemplo actualizado anterior que muestra que debe 'simplemente funcionar' como lo desee. – Phrogz