凝聚这个循环的优雅方法是什么?

时间:2012-02-15 03:31:08

标签: ruby-on-rails ruby ruby-on-rails-3

我想完成以下任务:

 def feed_items
  a = []
  taggings.each do |k| 
    a << k.feed_item 
  end

  return a
 end

我怎样才能更好地写出来?不得不初始化数组开始是很难看的,我觉得有一个更简洁的方法来做到这一点。有关您的信息,这适用于包含has_many标记的对象,每个标记都有一个feed_item。

1 个答案:

答案 0 :(得分:5)

我不明白;你的循环没有做任何事情,该方法返回一个空数组。

你想这样做吗?

def feed_items
  taggings.collect &:feed_item
  # Or taggings.collect { |t| t.feed_item }
end