我认为这是一个简单的问题,但我似乎无法用头脑来解决它。我想从另一个实例变量的属性创建实例变量。例如:
@posts = Post.find(:all, :conditions => ['day > ?', Date.today], :order => 'day')
我想获得另一个实例变量,它包含@posts
中的所有日期。有没有一种方法可以在不创建帮助程序/函数的情况下快速获得它?谢谢
@posts.map(&:day)
这是的简写
@posts.map do |post|
post.day
end
结果是每个post.day 的值的数组
韦恩拥有的是合适的。我更喜欢收集而不是地图,但它们是等价的。
@dates = @posts.collect{|post| post.day}.uniq
请注意,末尾的uniq将为您提供唯一的值。