ruby-on-rails - example - slim rails
Crea un ayudante o algo para haml con rubĂ sobre rieles. (2)
Estoy usando Haml con mi aplicación de rieles y tengo una pregunta sobre la forma más fácil de insertar este código Haml en un archivo html:
<div clas="holder">
<div class=top"></div>
<div class="content">
Content into the div goes here
</div>
<div class="bottom"></div>
</div>
Y quiero usarlo en mi documento Haml como este:
%html
%head
%body
Maybee some content here.
%content_box #I want to get the code i wrote inserted here
Content that goes in the content_box like news or stuff
%body
¿Hay alguna forma más fácil de hacer esto?
Me sale este error:
**unexpected $end, expecting kEND**
con este código:
# Methods added to this helper will be available to all templates in the application.
module ApplicationHelper
def content_box(&block)
open :div, :class => "holder" do # haml helper
open :div, :class => "top"
open :div, :class => "content" do
block.call
open :div, :class => "bottom"
end
end
end
La solución típica a esto es usar un parcial.
O un método auxiliar en su archivo _helper.rb:
def content_box(&block)
open :div, :class => "holder" do # haml helper
open :div, :class => "top"
open :div, :class => "content" do
block.call
end
open :div, :class => "bottom"
end
end
Y en Haml:
%html
%head
%body
Maybee some content here.
= content_box do
Content that goes in the content_box like news or stuff
Puedes usar haml_tag también
def content_box
haml_tag :div, :class => "holder" do
haml_tag :div, :class => "top"
haml_tag :div, :class => "content" do
yield
haml_tag :div, :class => "bottom"
end
end
y en haml
%html
%head
%body
Maybee some content here.
= content_box do
Content that goes in the content_box like news or stuff