2011-03-31 56 views
0

我想加入記錄在一起,並將它們與分開「 - 」如何加入記錄在一起,並與它們分開「 - 」

我知道如何加入一個表中的記錄在一起,就像這樣:

@keywords = @tweet.hash_tags.join("-") 

但是,如果它是HABTM關聯表。

例如。

// BRAND MODEL 
has_and_belongs_to_many :categories 

// CATEGORY MODEL 
has_and_belongs_to_many :brands 

如果我這樣做:

@brands = Brand.all 
@brand_categories = @brands.categories.join("-") 

我得到這樣的結果:

#<Category:0x0000010445c928>,#<Category:0x0000010445c7c0>,#<Category:0x0000010445c5e0>,#<Category:0x0000010445c400>,#<Category:0x0000010445c270> 

希望你明白我的問題 - 謝謝。

+0

不太明白你的問題。你能舉一個你期望看到的輸出的例子嗎? – bioneuralnet 2011-03-31 21:00:53

+0

我想看到的是:類別名稱1類別名稱2類別名稱3等... – andkjaer 2011-03-31 21:03:35

回答

0

#join將呼籲在默認情況下,通過@brands.categories返回Array項目#to_s,它並不像你所定義的自定義Category#to_s。要麼這樣做,要麼更明確地表達你想要的字符串表示;如果,例如,Categorytitle屬性,你可以使用:

@brands_categories = @brands.categories.map(&:title).join("-") 
+0

謝謝你工作很好:O) – andkjaer 2011-03-31 22:54:42

0

假設你Category表中有一個name場:

@brand_categories = @brands.categories.collect(&:name).join("-") 

這將會把所有的name值到一個數組,然後再加入這些。

+0

工作很好,但我只能接受作爲aswer但謝謝你幫助我... – andkjaer 2011-03-31 22:55:29

相關問題