嗨,我正在使用 rails 插件acts-as-taggable-on
,我正在尝试查找名称匹配并部分匹配给定查询的前 5 个最常用的标签。
当我做User.skill_counts.order('count DESC').limit(5).where('name LIKE ?', params[:query])
这将返回以下错误:
ActiveRecord::StatementInvalid: SQLite3::SQLException: ambiguous column name: name: SELECT tags.*, COUNT(*) AS count FROM "tags" INNER JOIN users ON users.id = taggings.taggable_id LEFT OUTER JOIN taggings ON tags.id = taggings.tag_id AND taggings.context = 'skills' WHERE (taggings.taggable_type = 'User') AND (taggings.taggable_id IN(SELECT users.id FROM "users")) AND (name LIKE 'asd') GROUP BY tags.id, tags.name HAVING COUNT(*) > 0 ORDER BY count DESC LIMIT 5
但是当我这样做时User.skill_counts.first.name
这返回
"alliteration"
我将不胜感激在这件事上的任何帮助。