簡體   English   中英

auto_complete插件錯誤:找不到ID = auto_complete_for_的問題

[英]auto_complete plugin error: Couldn't find Question with ID=auto_complete_for_

我之前已經成功設置了此插件,因此我對自己在這里做錯了很好奇。 我已經建立了供用戶向問題中添加標簽的功能。 我沒有在這里使用標簽插件,但這無關緊要。

關於自動完成功能,我正在嘗試讓/views/questions/show.html.erb文件中的/views/questions/show.html.erb訪問“標記”表並在“ tags.tags_name列中顯示條目。

當我開始在字段中鍵入時,出現以下錯誤消息:

Processing QuestionsController#show (for 127.0.0.1 at 2010-05-31 15:22:20) [GET]
  Parameters: {"tag"=>{"tag_name"=>"a"}, "id"=>"auto_complete_for_tag_tag_name"}
  Question Load (0.1ms)   SELECT * FROM "questions" WHERE ("questions"."id" = 0) 

ActiveRecord::RecordNotFound (Couldn't find Question with ID=auto_complete_for_tag_tag_name):
  app/controllers/application_controller.rb:15:in `init_data'

由於某種原因,我實際上將字段名稱傳遞為Question.id。

在您將以下行添加到控制器時,插件設置非常簡單:

auto_complete_for :tag, :tag_name

routes.rb文件中的以下行:

map.resources :tags, :collection => {:auto_complete_for_tag_tag_name => :get }

我已將控制器行添加到標簽和問題控制器中,並且還在我的routes.rb文件中映射了標簽和問題的資源:

map.resources :tags, :collection => {:auto_complete_for_tag_tag_name => :get }
map.resources :questions, :collection => {:auto_complete_for_tag_tag_name => :get }

我已經嘗試刪除上述任何一個,但似乎無法修復。 有什么想法我在這里做錯了嗎?

更新:

我的QuestionsController#show動作通過以下方式釣魚:

@question = Question.find(params[:id])

找到了答案。 瘋。 您只需將其添加到您的routes.rb文件中:

map.auto_complete ':controller/:action',
     :requirements => { :action => /auto_complete_for_\S+/ },
     :conditions => { :method => :get }

這是我找到的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM