0

我可能在这里遗漏了一些非常明显的东西。我有以下 Ruby 方法:

def pair_array

  return self.pair.each_slice(2) {
    |x| puts x.join(" & ")
  }.to_s
end

当我尝试通过调用@team.pair_array 在我的 Rails 视图中显示此方法的值时,什么都没有出现,但正确的值会打印在控制台上。我知道这可能是因为我正在使用puts。我怎样才能让这个方法的结果显示在我的视图中?

4

1 回答 1

5

您将打印与返回值混淆了。puts返回 nil,并且each_slice无论如何都不返回块的结果。你想要的是这样的:

def pair_array
  pair.each_slice(2).map {|arr| arr.join ' & '}
end
于 2013-06-26T18:10:26.903 回答