モデルで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
どんな考えやアドバイスも素晴らしいでしょう。