Передача необязательных аргументов через метод-оболочку в Rails

StackOverflow https://stackoverflow.com/questions/2218911

  •  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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top