使用Ruby改进和'each'语句

时间:2011-03-07 22:31:33

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

我正在使用Ruby on Rails 3,我想改进以下代码。

accounts = []
ids.each { |id|
  accounts << Account.find_by_id(id)
}

puts accounts

我该怎么办?

2 个答案:

答案 0 :(得分:4)

如果ids可能包含与真实Account不对应的ID:

accounts = ids.map { |id| Account.find_by_id(id) }

或者如果您知道所有ids都存在,您可以将其简化为:

accounts = Account.find(ids)

答案 1 :(得分:2)

ids.collect {|id| Account.find_by_id(id)}