he utilizado este modelo para un número de ayudantes en los carriles 2, pero no está funcionando de la misma en los carriles 3. Mi objetivo es tener un método de ayuda a generar algunas etiquetas HTML con contenido anidado dentro. Aquí es un ejemplo básico de lo que estoy tratando de conseguir:¿Cómo cede un método auxiliar a un bloque en los carriles 3?
<div class="box">
my content
</div>
En los carriles 2 lo hago de esta manera:
dentro de mi archivo de diseño que llamo el método de ayuda:
<% box_wrapper do %>
<%= yield -%>
<% end %>
el método de ayuda se define así:
def box_wrapper
concat <<-EOF.html_safe
<div class="box">
EOF
yield if block_given?
concat <<-EOF.html_safe
</div>
EOF
end
Pero en los carriles 3 cuando la vista se vuelve emite toda mi una página d entonces dentro del box_wrapper
representa todo el contenido de la página una segunda vez.
Creo que estoy perdiendo algo obvio con el uso de ayudantes y los rendimientos. ¿Algunas ideas?
acaba de enviar la recomendación de R. Bates: "ACTUALIZACIÓN: recomiendo el uso de la‘’método en lugar de‘captura with_output_buffer’.. Esto tiene el beneficio añadido de trabajar fuera de puntos de vista ERB código de abajo se ha actualizado." – apneadiving
@apneadiving - Gracias por eso, definitivamente una mejora. –
Gracias! Mi uso real es más complicado que un simple content_tag, pero eso fue suficiente para comenzar. – nimblegorilla