rails link_to ruby-on-rails ruby helper

ruby on rails - link_to - ¿Cuál es la mejor forma de devolver varias etiquetas desde un Rails Helper?



rails 5 link_to class (3)

Quiero crear un campo oculto y crear un enlace en un helper y luego generar ambos en mi erb.

<%= my_cool_helper "something", form %>

Debería poner los resultados de

link_to "something", a_path form.hidden_field "something".tableize, :value => "something"

¿Cómo sería la definición de ayudante? Los detalles de lo que link_to y form.hidden_field realmente no importan. Lo que importa es cómo devolver la salida de dos llamadas diferentes.


Hasta ahora, lo mejor que he encontrado es:

def my_cool_helper(name, form) out = capture { link_to name, a_path } out << capture { form.hidden_field name.tableize, value => ''something'' } end

¿Hay una mejor manera?


Hay varias formas de hacer esto.

Recuerda que los helipuertos existentes como link_to , etc, solo link_to salida a cadenas. Puede concatenar las cadenas y devolverlas (que es lo que hago la mayoría de las veces, si las cosas son simples).

P.EJ:

link_to( "something", something_path ) + #NOTE THE PLUS FOR STRING CONCAT form.hidden_field(''something''.tableize, :value=>''something'')

Si estás haciendo cosas que son más complicadas, puedes simplemente poner ese código de forma parcial, y hacer que tu ayuda invoque render :partial .

Si estás haciendo cosas más complicadas incluso que eso, entonces es posible que quieras mirar el block_to_partial helper de errtheblog , que es bastante genial