【问题标题】:auto_complete plugin error: Couldn't find Question with ID=auto_complete_for_auto_complete 插件错误:找不到 ID=auto_complete_for_ 的问题
【发布时间】:2010-06-01 12:50:17
【问题描述】:

我之前已经成功设置了这个插件,所以我很好奇我在这里做错了什么。我已经建立了用户向问题添加标签的能力。我在这里没有使用标记插件,但这无关紧要。

关于自动完成,我试图让位于/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])

【问题讨论】:

    标签: javascript ruby-on-rails ruby autocomplete


    【解决方案1】:

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

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

    Here is where I found it.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2011-02-25
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多