我想一起加入记录并用“ - ”
分开我知道如何将一个表记录连接在一起:
@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 :(得分:0)
假设您的Category
表格中有name
字段:
@brand_categories = @brands.categories.collect(&:name).join("-")
这会将所有name
值放入一个数组中,然后加入它们。
答案 1 :(得分:0)
#join
会对#to_s
返回的Array
中的项目进行@brands.categories
调用,看起来您没有定义自定义Category#to_s
1}}。要么这样做,要么更明确你想要的字符串表示;例如,如果Category
具有title
属性,则可以使用:
@brands_categories = @brands.categories.map(&:title).join("-")