2014-11-06 52 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