Почему ActionView :: Helpers :: UrlHelper недоступны в конвейере ресурсов? - PullRequest
3 голосов
/ 22 сентября 2011

В тяжелых приложениях ajax, имеющих файл javascript / coffeescript, который знает о маршрутах в приложении rails, это кажется распространенным и разумным.Однако получить доступ к помощнику url_for в ваших ресурсах непросто.

Я часто вижу, как люди встроили переменную в свои представления, которые читает javascript.И есть несколько плагинов, которые делают маршруты доступными через объект javascript.См. Доступ к маршрутам рельсов в javascript .

Я упускаю простой способ сделать это?Это плохая практика?Какая альтернатива?

Ответы [ 2 ]

3 голосов
/ 05 июля 2012

Получить путь из вида

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

Например, если вам нужно отрегулировать форму, укажите в атрибуте action формы правильный URL-адрес для отправки в AJAX, и Javascript будет искать его там.

3 голосов
/ 25 сентября 2011

Поскольку стандартным способом использования конвейера является компиляция файлов JS в один файл с помощью отпечатка пальца, я не думаю, что есть альтернатива этому.

Помощникам по URL часто требуется какой-то контекст в форме переменных или параметров. Например:

question_path(@current_question)

Они не будут доступны, когда файлы JS скомпилированы для производства.

Мне кажется, что проход по сгенерированному пути через блок контента (я делаю это в текущем приложении).

...