Передача необязательных аргументов через метод-оболочку в Rails
-
19-09-2019 - |
Вопрос
У меня есть следующий метод оболочки для 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
При вызове с этим примером:
link_to_with_current 'My Link', '/mylink.html', true, :id => 'mylink'
Создается следующая ссылка:
<a href="/mylink" class="current">My Link</a>
Почему не отображается идентификатор?
Решение
Благодаря предложению theIV я нашел работающую версию:
def link_to_with_current(text, link, condition, *args)
options = args.first || {}
options[:class] = condition ? 'current' : nil
link_to text, link, options
end
Не связан с StackOverflow