Ruby on rails 在Rails中使用自动完成标记

Ruby on rails 在Rails中使用自动完成标记,ruby-on-rails,ruby-on-rails-3,jquery-ui,autocomplete,acts-as-taggable-on,Ruby On Rails,Ruby On Rails 3,Jquery Ui,Autocomplete,Acts As Taggable On,我的(很长,我很抱歉)问题是以下问题的后续问题: 我正在使用在和rails3 jquery autocomplete上充当标记,并尝试设置一个系统(很像堆栈溢出),在该系统中,用户开始输入标记并在下拉框中显示建议 目标 我在“答案”新表格中,我想查看与问题相关的标签列表。i、 e.想象一下,正在寻找新的Rails问题来回答,并搜索raRubyonRails弹出,单击它,您会看到RoR下的问题列表,您可以回答其中任何一个问题 这些是我采取的步骤 安装了两个gems。两者似乎都能独立工作 添加了。(

我的(很长,我很抱歉)问题是以下问题的后续问题:

我正在使用
rails3 jquery autocomplete
上充当标记,并尝试设置一个系统(很像堆栈溢出),在该系统中,用户开始输入标记并在下拉框中显示建议

目标 我在“答案”新表格中,我想查看与问题相关的标签列表。i、 e.想象一下,正在寻找新的Rails问题来回答,并搜索
ra
<代码>RubyonRails弹出,单击它,您会看到RoR下的问题列表,您可以回答其中任何一个问题

这些是我采取的步骤

  • 安装了两个gems。两者似乎都能独立工作
  • 添加了
    。(我已经有了Jquery、UI核心和UI效果。)
  • 回答控制器:我在顶部添加了
    自动完成:问题,:标记,:full=>true
    。我还尝试了
    autocomplete:tag,:name,:full=>true
  • Question.rb:
    充当标签:标签
  • 视图:
    “get”do%>

  • 一个简单的自动完成(无标记)可以工作(但它只在每次页面加载时工作一次)。有了标签,就没有成功

    问题 通过大量的实验(和许多小时),我遇到了以下问题:

  • 我在服务器对初始条目的响应中得到
    namererror(单位化常量标记)
  • 使用不可标记的实现(搜索简单问题文本本身),我会得到一个JQuery自动完成样式的下拉列表,但我的游标无法使用up/down访问选项。我必须用鼠标点击它们。此外,除非我重新加载页面,否则下拉列表不会消失
  • 在服务器响应一次结果之后(正如我所提到的,只有非标记的工作),它不会再次响应按键或文本条目中的更改

  • 我将非常感谢您能给予的任何帮助。我已经一步一步地学习了一些教程,但今天运气不好。

    我知道它只回答了您的一个问题,但我能够通过在控制器中显式指定类名来解决“统一化常量标记”问题:

    autocomplete:tag,:name,:class\u name=>actsastaggaleon::tag'

    似乎有些问题打破了标签类存在的基本假设


    除此之外,我自己也注意到了一些奇怪的行为,当我没有将jquery ui css正确地包含在页面上时,您是否验证了所有内容都已正确链接?

    我注意到您缺少的一点是您的路由。我必须这样写:

    resources :resources do
      get :autocomplete_resource_tag, :on => :collection
    end
    
    在my_form.html.erb中

    <%= f.autocomplete_field :tag_list, autocomplete_resource_tag_resources_path %>
    

    我也很好奇如何最好地解决这个问题。
    SQLite3::SQLException: no such column: resources.tag: SELECT  resources.id, resources.tag FROM "resources"  WHERE (LOWER(resources.tag) LIKE 'woo%') ORDER BY resources.tag ASC LIMIT 10
    Completed 500 Internal Server Error in 1ms
    
    ActiveRecord::StatementInvalid (SQLite3::SQLException: no such column: resources.tag: SELECT  resources.id, resources.tag FROM "resources"  WHERE (LOWER(resources.tag) LIKE 'woo%') ORDER BY resources.tag ASC LIMIT 10):