2011-10-11 100 views
0

我有一个模型:轨-3jquery-automcomplete路径帮手轨不返回正确路径3.1.1

class EvidenceType < ActiveRecord::Base 
    has_many :evidences 

    attr_accessible :name 

end 

控制器:

class EvidencesController < ApplicationController 

    autocomplete :evidence_type, :name 

笔者认为:

<%= form_tag do %>    
    <%= autocomplete_field_tag 'evidence', '', :autocomplete => autocomplete_evidence_type_name_evidences_path %> 
<% end %> 

In Routes.rb:

resources :evidences do 
    get :autocomplete_evidence_type_name, :on => :collection 
end 

耙路线给我:

autocomplete_evidence_type_name_evidences GET /evidences/autocomplete_evidence_type_name(.:format) {:action=>"autocomplete_evidence_type_name", :controller=>"evidences"} 

当我开始在自动完成场我看到INT轨道的要求输入登录:

Started GET "/autocomplete/evidences/autocomplete_evidence_type_name?term=co" for 127.0.0.1 at Tue Oct 11 17:45:57 +0100 2011 

ActionController::RoutingError (No route matches [GET] "/autocomplete/evidences/autocomplete_evidence_type_name"): 

如果我手动去http://localhost:3000/evidences/autocomplete_evidence_type_name?term=xx然后我得到了想要的snippet返回,这导致我相信一切似乎都与jquery正确粘在一起。

我想我需要在我的路线中添加一个额外的“自动完成”(看起来很骇人?),或者我的autocomplete_evidence_type_name_evidences_path帮手需要将/ autocomplete放在前面。

然而,说了这话,我怀疑这可能是我做错了什么?有任何想法吗?

回答

1

在此行中:

<%= autocomplete_field_tag 'evidence', '', :autocomplete => autocomplete_evidence_type_name_evidences_path %> 

你不需要:autocomplete =>。这就是将额外的/autocomplete添加到URL。只需使用:

<%= autocomplete_field_tag 'evidence', '', autocomplete_evidence_type_name_evidences_path %> 

我用这个宝石了一段时间,除非有在过去的几个月中发生了变化,这应该修复它。

+0

辉煌,谢谢!让自己陷入麻烦与剪贴:) – sgbett