在Rails中使用自动完成功能进行标记

ssc*_*rus 7 jquery-ui autocomplete ruby-on-rails acts-as-taggable-on ruby-on-rails-3

我的(很久,我道歉)问题是后续:如何在Rails中将自动完成标记添加到现有模型中?

我正在使用acts-as-taggable-onrails3-jquery-autocomplete尝试建立一个系统(很像Stack Overflow),用户开始输入标签,并在下拉框中显示建议.

目标

我在#new表单的答案中,我希望看到与问题相关的标签列表.即想象一下正在寻找新的Rails问题来回答和搜索ra.Ruby-on-Rails弹出,点击它,你会看到RoR下的问题列表,你可以回答其中任何一个问题.

这些是我采取的步骤.

  1. 安装了两个宝石.两者似乎都是独立工作的.
  2. 补充说<%= javascript_include_tag "ui/jquery.ui.position", "ui/jquery.ui.autocomplete", "autocomplete-rails.js", "rails.js", "application.js" %>.(我已经拥有Jquery,UI Core和UI Effects.)
  3. 答案控制器:我在顶部添加autocomplete :question, :tags, :full => true.我也试过了autocomplete :tag, :name, :full => true.
  4. Question.rb : acts_as_taggable_on :tags.
  5. 视图:
    <%= form_tag new_answer_url, :method => "get" do %>
    <%= autocomplete_field_tag "tag_list", 'tags', autocomplete_question_tags_answers_path %>
    <% end %>

一个简单的自动完成(没有标记)可以工作(但每页加载只能工作一次).有了标记,没有成功.

问题

经过大量的实验(以及许多小时),我遇到了这些问题:

  1. 我得到NameError (unitialized constant Tag)服务器响应初始条目.
  2. 使用不可标记的实现(搜索简单的问题文本本身),我得到一个JQuery Autocomplete风格的下拉列表,但我的游标无法使用up/down访问选项.我必须用鼠标点击它们.此外,除非我重新加载页面,否则下拉列表不会消失!
  3. 在服务器响应结果一次之后(只有不可标记的工作正如我所提到的那样),它不会再次响应按键或文本条目中的更改.

我非常感谢你能给予的任何帮助.我已经逐步完成了一些教程,但今天没有运气.

Set*_*h P 4

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

\n\n

autocomplete :tag, :name, :class_name => \'ActsAsTaggableOn::Tag\'

\n\n

似乎对 acts_as_taggable_on 库的一些更改打破了 Tag 类存在的基本假设。

\n\n

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

\n