Эй. Итак, у меня есть приложение Rails, которое развертывается на производственном компьютере и обслуживает его через Apache / Passenger для двух subURI.
/app
/app_2
оба вышеуказанных subURI работают с одной и той же кодовой базой. Это всего лишь две символические ссылки на общедоступный каталог, на которые оба указывают через Passenger:
RailsBaseURI "/app"
RailsBaseURI "/app_2"
Теперь, я большой поклонник jQuery. Так что я использую его с парой плагинов, один из которых - функция автозаполнения:
$("#municipality_name").autocomplete('autocomplete_municipality', {
matchContains: true,
scroll: false
}).result(function(event, data, formatted) {
$.post('fill_state', {city: formatted}, null, 'script');
});
Проблема, с которой я сталкиваюсь, заключается в том, что когда он запускается в производство, URL, который вызывается, является
http://www.app.com/autocomplete_municipality
вместо
http://www.app.com/app/autocomplete_municipality
- или же -
http://www.app.com/app_2/autocomplete_municipality
(я знаю, что там нет имени контроллера, у меня есть маршруты, чтобы дать мне эти пути.)
В любом случае, мой вопрос: как, черт возьми, я могу сказать jQuery, чтобы он не сдул путь subURI? config.action_controller.relative_url_root = "/signup_2"
не представляется приемлемым вариантом, потому что у меня есть несколько subURI здесь. Я также не хочу менять путь в методе jQuery на autocomplete('app/autocomplete_municipality'...
, так как я до сих пор не получаю доступ к своим двум subURI. Может быть, это единственный вариант.
Причина двух URI в основном для внутреннего тестирования -> переключение производства (поскольку мы открываем новый сайт сначала для компании, а затем для широкой публики), и мы хотели иметь возможность запускать все сразу из / app_2 (наш путь тестирования) в / app (открытый путь) без необходимости что-либо менять на стороне конфигурации.
Мысли