2011-10-11 108 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