У меня есть форма, которая использует автозаполнение jQuery для возврата списка имен клиентов.Для функции автозаполнения в качестве источника задан именованный маршрут.
$( "#clientfinder" ).autocomplete({
source: 'findclients',
minLength: 3,
delay: 600,
select: function(event,ui){
$('#clientfinder_id').val(ui.item.id)
}
});
-- routes
match 'findclients' => 'contact#find_clients'
Источник автозаполнения, использующий маршрут, работает нормально, если поле формы используется для обновления записи, но не для создания новой записи.,Представления создания и обновления используют один и тот же частичный _form.html.erb и, следовательно, одно и то же поле с одинаковым идентификатором.Но когда форма используется для создания записи, я получаю:
Started GET "/ search_log / findclients? Term = fid" для 127.0.0.1 в 2011-10-07 11:45:59 -0500 AbstractController:: ActionNotFound (Не удалось найти действие 'findclients' для SearchLogController):
После создания записи и использования формы для обновления записи я получаю:
Started GET "/ findclients? term = fid "для 127.0.0.1 в 2011-10-07 11:46:56 -0500 Обработка ContactController # find_clients as JSON
Это похоже на использование частичной формы для созданиямаршрут игнорируется и вызывается текущий контроллер.Но если форма используется для обновления записи, используется именованный маршрут.Я не вижу, как фреймворк рельсов знает разницу.
Я что-то здесь упускаю?