Ruby on rails 3 如何将记录连接在一起并用“分隔”分隔-&引用;

Ruby on rails 3 如何将记录连接在一起并用“分隔”分隔-&引用;,ruby-on-rails-3,Ruby On Rails 3,我想将记录连接在一起,并用“-”分隔它们 我知道如何像这样将一个表记录连接在一起: @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

我想将记录连接在一起,并用“-”分隔它们

我知道如何像这样将一个表记录连接在一起:

@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>
#

希望您理解我的问题-谢谢。

假设您的
类别
表有一个
名称
字段:

@brand_categories = @brands.categories.collect(&:name).join("-")
这将把所有的
名称
值放入一个数组中,然后将它们连接起来。

\join
将调用
\to\u s
@brands.categories
返回的
数组
中的项目进行调用。默认情况下,categories,并且看起来您没有定义自定义的
类别。或者这样做,或者更明确地说明您想要的字符串表示形式;例如,如果
类别
具有
标题
属性,则可以使用:

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

我不太明白你的问题。你能举一个你期望看到的输出的例子吗?我想看到的是:类别名称1-类别名称2-类别名称3-等等…工作很好,但我只能接受作为一个回答,但谢谢你帮助我。。。