Добавление параметра по умолчанию для всего приложения в сгенерированные ссылки link_to - PullRequest
0 голосов
/ 15 февраля 2012

Я хочу изменить функциональность link_to таким образом, чтобы он добавлял параметр по умолчанию ко всем ссылкам, которые генерируются на странице.

например, текущее поведение.

link_to "foo", "/" generates <a href="http://www.example.com/">foo</a>

Я хочу указать в контроллере приложения (или где-то еще в центре) что-то, что заставляет link_to вести себя следующим образом

link_to "foo", "/" generates <a href="http://www.example.com/?layout=foo">foo</a>

я знаю, что мог бы сделать это, добавив параметр в link_to, но я хочу изменить поведение приложения без необходимости редактировать каждый вызов link_to.

возможно ли перехватить вызов link_to, добавить параметр и затем вернуть результат?

Текущий обходной путь, который я использую, - добавить параметр с помощью jquery в href ссылок.но это не очень красиво на самом деле

1 Ответ

1 голос
/ 30 апреля 2015

Вы можете переопределить вспомогательный метод link_to и передать параметр по своему выбору. Как я передал параметр layout=foo в следующем коде.

def link_to(text='',link='#',options={})
  link = link.include?('?') ? "#{link}&layout=foo" : "#{link}?layout=foo"
  super(text,link,options)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...