【发布时间】:2012-01-25 15:02:11
【问题描述】:
我在模型中使用acts_as_taggable_on,并尝试实现auto_complete 插件。似乎我已经正确连接了所有内容,但搜索没有返回任何结果。到目前为止,这是我所拥有的:
在视图中:
<%= text_field_with_auto_complete(:link, :tag_list, {}, {:tokens => ','}) %>
在控制器中:
def auto_complete_for_link_tag_list
@tags = Link.tag_counts_on(:tags).where('tags.name LIKE ?', params[:link][:tag_list])
render :inline => "<%= auto_complete_result(@tags, 'name') %>", :layout => false
logger.info "#{@tags.size} tags found."
end
记录器不断返回 0 个标签,视图中没有显示任何内容(是的,布局包括 javascript 默认值)。正在生成的 SQL 如下所示:
SELECT tags.*, COUNT(*) AS count FROM "tags" LEFT OUTER JOIN taggings ON tags.id = taggings.tag_id AND taggings.context = 'tags' INNER JOIN links ON links.id = taggings.taggable_id WHERE (((tags.name LIKE 'so') AND (taggings.taggable_type = 'Link'))) GROUP BY tags.id, tags.name HAVING COUNT(*) > 0
任何想法或建议都会很棒。
【问题讨论】:
-
原来问题是与vestal_versions的冲突,它也有一个标签模型。有人用vestal_versions 制作了一个叉子来解决这个问题:github.com/dfurber/vestal_versions/commit/…
标签: ruby-on-rails autocomplete acts-as-taggable-on