2014-11-06 53 views
0

查询结果在我的Rails应用程序中,我有4列的#标签表:Ruby或Rails的方法来限制

  • ID
  • POST_ID(该职位的该标签关联的ID )
  • 标签(即实际包括hashtag)
  • tagging_user_id(谁创造了包括hashtag用户)
在我的索引方法

,I W字符串蚂蚁返回由给定用户创建的所有主题标签:

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

,正如预期的,让我由用户创建的每个主题标签。

但是,我真的很想只给每个hashtag中的一个显示给用户,各个db条目并不重要。有没有一种Rails方法根据“标签”列为我提供独特的Hashtag条目,所以我没有得到多个相同的标签?

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

感谢, JA

+0

只要不重复创建。当用户尝试创建新标签时,使用方法find_or_create。如果已经有一个类似标题的标签,rails将不会创建,但是从db中选择它。 – 2014-11-06 06:16:30

+0

@PavelTkackenko您的评论与这个问题无关。 – 2014-11-06 06:38:17

回答

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

+0

我不认为这已被问到.. :-)他想要独特的hastag条目..不是唯一的标签.. – 2014-11-06 05:53:18

+0

他描述这样的表格:_tag(该字符串是实际的hashtag)_ @ja。你可以请这个吗? – spickermann 2014-11-06 06:06:24

+0

我想要一个以前使用过的标签列表,所以使用它的次数并不重要。我不想多行的数据库,如果他们有相同的'tag'值 – 2014-11-12 20:27:11