Ruby on Rails,从另一个实例变量的属性创建一个实例变量

时间:2011-06-20 04:25:48

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

我认为这是一个简单的问题,但我似乎无法解决它来解决它。我想从另一个实例变量的属性创建一个实例变量。 例如:

@posts = Post.find(:all, :conditions => ['day > ?', Date.today], :order => 'day')

我想获得另一个包含@posts所有日期的实例变量。有没有办法快速获得它而无需创建帮助器/功能? 谢谢!

2 个答案:

答案 0 :(得分:3)

@posts.map(&:day)

的简写
@posts.map do |post|
  post.day
end

结果是每个post.day的值的数组

答案 1 :(得分:0)

Wayne有什么是合适的。我更喜欢收集而不是地图,但它们是等价的。

@dates = @posts.collect{|post| post.day}.uniq

注意,最后的uniq将为您提供唯一的值。