我的(很久,我道歉)问题是对How to add tagging with autocomplete to an existing model in Rails?
的后续问题我正在使用acts-as-taggable-on
和rails3-jquery-autocomplete
,并尝试设置一个系统(很像Stack Overflow),用户开始输入标签,建议会显示在下拉框中。< / p>
我在答案 #new表单中,我希望看到与问题相关的标记列表。即想象一下正在寻找新的Rails问题来回答,并搜索ra
。弹出Ruby-on-Rails
,点击它,你会看到RoR下的问题列表,其中任何一个都可以回答。
这些是我采取的步骤。
<%= javascript_include_tag "ui/jquery.ui.position", "ui/jquery.ui.autocomplete", "autocomplete-rails.js", "rails.js", "application.js" %>
。 (我已经拥有Jquery,UI Core和UI Effects。)autocomplete :question, :tags, :full => true
添加了。我也试过autocomplete :tag, :name, :full => true
。acts_as_taggable_on :tags
。<%= form_tag new_answer_url, :method => "get" do %>
<%= autocomplete_field_tag "tag_list", 'tags', autocomplete_question_tags_answers_path %>
<% end %>
简单的自动完成(无标记)有效(但每页加载只能运行一次)。有标记,没有成功。
通过大量实验(以及许多小时),我遇到了这些问题:
NameError (unitialized constant Tag)
。我非常感谢你能给予的任何帮助。我已经逐步完成了一些教程,但今天没有运气。
答案 0 :(得分:4)
我知道它只回答了你的一个问题,但我能够通过在我的控制器中明确指定类名解决“unitialized constant Tag”问题:
autocomplete :tag, :name, :class_name => 'ActsAsTaggableOn::Tag'
似乎有些changes to the acts_as_taggable_on library打破了Tag类存在的基本假设。
除此之外,当我没有正确地将jquery-ui css包含在页面中时,我发现了一些奇怪的行为 - 您是否已经确认所有内容都已正确链接?
答案 1 :(得分:0)
我注意到你遗失的一件事就是你的路线。我不得不这样做:
resources :resources do
get :autocomplete_resource_tag, :on => :collection
end
在我的_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):