Как динамически вызывать маршруты помощников в рельсах? - PullRequest
30 голосов
/ 07 марта 2012

Например, я построил строку с именем "new_work_path", теперь я хочу вызвать этого помощника в качестве метода.

Я пробовал send("new_work_path", vars) и вызывал один и тот же send для многих объектов.Но я не думаю, что нашел подходящий объект для вызова этих помощников.

Чтобы сделать object.send("new_work_path", vars), какой объект мне следует искать?

Я пытался найти это онлайн некоторое время, но ничего не смог найти.Если кто-нибудь может зажечь немного света на этом, было бы здорово!

Спасибо!

Ответы [ 2 ]

38 голосов
/ 05 октября 2013

попробуй Rails.application.routes.url_helpers.send(...)

8 голосов
/ 07 марта 2012

Мое плохое, согласно предложению @tadman, я попытался использовать send(:new_work_path, args) снова, и это сработало! Должно быть, опечатка раньше.

Прежде чем выяснить, что send работает сразу же, я нашел другое решение, которое также представляет интерес:

new_polymorphic_path(Work, args)

Который, кажется, также предлагает немного синтаксического сахара.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...