如何从数组Ruby中删除括号和引号

时间:2014-05-08 10:38:14

标签: ruby arrays ruby-on-rails-4

我有以下类方法:

def self.product(basket)
  Product.find(basket.to_a).collect do |product| 
    product.name + " " + product.size + " " + product.color
  end
end

以上产生以下内容:

["T-Shirt Medium Grey", "Sweatshirt Medium Black"]

我尝试了以下内容:

def self.product(basket)
  a = Product.find(basket.to_a).collect do |product| 
    product.name + " " + product.size + " " + product.color
  end
  b = a.shift.strip
end

但这最终只给了我数组的第一部分T-shirt Medium Grey

我正在找它给我

T-shirt Medium Grey, Sweatshirt Medium Black

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:9)

您的问题是如何自定义显示数组内容。一种可能的解决方案是使用Array#join方法转换为字符串:

a.join(', ')
# => "T-Shirt Medium Grey, Sweatshirt Medium Black"

答案 1 :(得分:3)

这应该有效:

def self.product(basket)
  Product.find(basket.to_a).map{|product| [product.name, product.size, product.color].join(" ")}.join(', ')
end