【问题标题】:Ruby on Rails, create an instance variable from another instance variable's propertyRuby on Rails,从另一个实例变量的属性创建一个实例变量
【发布时间】:2012-09-01 11:44:27
【问题描述】:

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

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

我想获取另一个实例变量,其中包含来自@posts 的所有日期。有没有一种无需创建帮助器/函数即可快速获取它的方法? 谢谢!

【问题讨论】:

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


    【解决方案1】:
    @posts.map(&:day)
    

    这是

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

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

    【讨论】:

    • 谢谢,到目前为止对我来说很棒 =)
    【解决方案2】:

    韦恩所拥有的是合适的。我更喜欢收集而不是地图,但它们是等价的。

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

    注意,最后的 uniq 会给你唯一的值。

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2021-11-03
      • 2022-07-21
      相关资源
      最近更新 更多