Отправляя запрос AJAX, перейдите по нужному URL - PullRequest
1 голос
/ 26 апреля 2011

У меня есть этот запрос ajax внутри некоторого кода jquery для автозаполнения:

$.ajax({type:"POST", url:("showable_videos/create.js"), data:{video:{profile:val}}});

Автозаполнение действует в поле, которое находится внутри моего видео-шоу. Поэтому, когда он делает запрос AJAX, я получаю эту ошибку:

Started POST "/videos/showable_videos/create.js" for 127.0.0.1 at Tue Apr 26 00:18:33 -0700 2011

ActionController::RoutingError (No route matches "/videos/showable_videos/create.js"):

Rails добавляет /videos/ к URL, когда я хочу, чтобы он был /showable_videos/create.js. Как я могу это исправить?

Ответы [ 3 ]

2 голосов
/ 26 апреля 2011

Сделать его абсолютным URL

 ... url:("/showable_videos/create.js") ...
2 голосов
/ 26 апреля 2011

Поместите ведущий слеш на ваш URL: /howable_videos/create.js.Без этого браузер обрабатывает его как относящийся к текущему каталогу.

1 голос
/ 26 апреля 2011

, поскольку вы не указали абсолютный путь (тот, у которого есть «/»), рельсы интерпретируют это как «из текущего пути» вместо «из корня».

Лучше всего использовать путь рельсовпомощники вместо жесткого кодирования URL-адресов, как это.

...