【问题标题】:Print attribute of object对象的打印属性
【发布时间】:2020-01-02 14:27:03
【问题描述】:

我有 2 个课程:

class User < ApplicationRecord
  has_one :address
end

class Address < ApplicationRecord
  belongs_to :user

我需要编写代码,它将打印数据库中 100 个用户的名称为“邮政编码”的属性值。

我有一些关于这一点的代码,但不确定这是解决问题的好方法:

@users = User.all
@users.limit(100).each do |user|
  puts "#{user.postcode}" 
end

谁有更好的想法?

【问题讨论】:

    标签: ruby-on-rails ruby activerecord ruby-on-rails-5


    【解决方案1】:

    我会使用pluck

    puts User.limit(100).pluck('postcode')
    # or
    puts User.joins(:address).limit(100).pluck('addresses.postcode')
    

    【讨论】:

      【解决方案2】:

      Pluck 最适合您的场景。

      User.where(condition).pluck(:postcode)

      (#where条件可选)

      如果您想获取带有邮政编码的其他列,您可以简单地将其包含在 pluck 中。例如

      User.where(condition).pluck(:id, :postcode)

      (#using multiple column inside pluck 仅适用于 rails4 及以上版本)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-10
        • 1970-01-01
        • 2020-08-28
        • 1970-01-01
        • 2015-08-09
        • 1970-01-01
        • 2011-03-03
        相关资源
        最近更新 更多