Pasando argumentos opcionales a través de un método de envoltura en rieles
-
19-09-2019 - |
Pregunta
Tengo el siguiente método de envoltura para link_to
:
def link_to_with_current(text, link, condition, *args)
current_class = condition ? 'current' : nil
link_to text, link, :class => current_class, *args
end
Cuando se llama con este ejemplo:
link_to_with_current 'My Link', '/mylink.html', true, :id => 'mylink'
Se genera el siguiente enlace:
<a href="/mylink" class="current">My Link</a>
¿Por qué el ID aparece?
Solución
Gracias a la sugerencia de theIV, he encontrado una versión que funciona:
def link_to_with_current(text, link, condition, *args)
options = args.first || {}
options[:class] = condition ? 'current' : nil
link_to text, link, options
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow