Rieles 2.2.2
_competition.html.erb
<p>This is packed</p>
<% pack do %>
// some javascript
<% end %>
competitions_helper.rb
def pack(&block)
yield + "PACKED"
end
Sin embargo, "PACKED" no se anexa a mi cadena de javascript, es como si pack do
no tiene efecto. Parece que hay algo extraño en el contexto de los bloques y en la visualización de la vista real porque si elimino la llamada para ceder en el ayudante y devuelvo una cadena codificada, no obtengo resultados del paquete.
Respuestas
2 para la respuesta № 1def pack(&block)
concat(capture(&block) + "PACKED")
end
0 para la respuesta № 2
No lo probé, pero podrías intentarlo:
yield << "PACKED"
Es solo una forma diferente de combinar 2 cuerdas.
0 para la respuesta № 3
Como solución temporal, por el momento, colocar el javascript en otro parcial y pasarlo a la función de ayuda usando render_to_string
, es decir. sin la necesidad de llamar yield
trabajos.
<%= pack(render_to_string :partial => "_competition_javascript") %>