Мне это тоже не нравится.Идеальным решением для меня были бы шаблоны javascript.Представьте себе, что в файле .js вы можете сделать:
var users_path = '<%= users_path %>';
Но это будет означать, что файлы .js должны будут регенерироваться в каждом запросе (ну, можно использовать кэширование, как в rails html).
В любом случае, то, что вы также можете сделать, это поместить динамические вещи в атрибуты данных.Таким образом, вы можете сделать, например,
<%= select_tag :select_something, select_options, 'data-url' => users_url %>
, а затем прочитать этот атрибут в файле JavaScript.Я предпочитаю это решению, предложенному Пойнти.
Редактировать: Ну, на самом деле кто-то реализовал идею динамического файла .js.Кажется, достаточно просто, просто создайте контроллер javascripts и свяжитесь с его действиями через javascript_include_tag: динамические файлы javascript