Ruby或Rails方法按列限制查询结果

时间:2014-11-06 05:39:13

标签: ruby ruby-on-rails-4 hashtag

在我的rails应用程序中,我有一个包含4列的Hashtag表:

  • id
  • post_id(与该标签相关联的帖子的ID)
  • 标签(作为实际标签的字符串)
  • tagging_user_id(创建主题标签的用户)

在我的索引方法中,我想返回给定用户创建的所有Hashtags:

def index
    @hashtags = Hashtag.where("tagging_user_id = ?", params[:tagging_user_id]).reverse_order
end

正如预期的那样,它为我提供了用户创建的每个#标签。

然而,我真的只想获得每个标签中的一个以向用户展示,单个数据库条目并不重要。是否有rails方法根据"标记"给我独特的Hashtag条目。列,所以我不会得到相同标签的多个?

或者,我应该在我的应用程序而不是API调用中处理这个抽象吗?

谢谢, JA

1 个答案:

答案 0 :(得分:0)

我猜你的意思是像pluck那样:

Hashtag.where(tagging_user_id: params[:tagging_user_id]).
        reverse_order.
        pluck('DISTINCT tag')

阅读:http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-pluck