Passando argumentos opcionais através de um método invólucro em Rails
-
19-09-2019 - |
Pergunta
Eu tenho o seguinte método de invólucro 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
Quando chamado com este exemplo:
link_to_with_current 'My Link', '/mylink.html', true, :id => 'mylink'
O link a seguir é gerado:
<a href="/mylink" class="current">My Link</a>
Por que o ID não aparecer?
Solução
Graças à sugestão de theIV, eu encontrei uma versão 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow