在某些条件下不使用的命名路由? - AbstractController :: ActionNotFound

时间:2011-10-07 17:43:26

标签: ruby-on-rails ruby-on-rails-3 routes jquery-autocomplete

我有一个使用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,因此使用具有相同ID的相同字段。但是当表单用于创建记录时,我得到:

在2011-10-07 11:45:59 -0500开始GET“/ search_log / findclients?term = fid”for 127.0.0.1 AbstractController :: ActionNotFound(无法为SearchLogController找到操作'findclients'):

创建记录后,我正在使用表单更新记录:

在2011-10-07 11:46:56 -0500开始GET“/ findclients?term = fid”for 127.0.0.1   由ContactController处理#find_clients作为JSON

如果表单partial用于创建,则忽略命名路由并调用当前控制器。但是,如果表单用于更新记录,则使用命名路由。我不知道rails框架如何知道差异。

我在这里错过了什么吗?

0 个答案:

没有答案