【发布时间】:2017-11-30 17:21:29
【问题描述】:
我有桌子 - users 和 articles。它是一对多的关系,或者用户可以有很多文章。我想要的是从users 表中选择所有用户LIMIT 40,但包括计算每个用户的所有文章-为每个用户添加属性count_articles。我正在尝试这种方式:
def self.get_users(limit, offset)
users = []
order('created_at').limit(limit).offset(offset).each do |user|
user.attributes[:count_articles] = user.articles.count
users << user
byebug
end
users
end
,但我得到的用户没有这个属性。如果我使用 byebug 并输入
控制台 - user.count_articles,我可以看到当前用户的count_articles 的结果,但是如果我只输入user,我会看到没有count_articles 的所有属性。
【问题讨论】:
-
Rails 5.0 中的
ActiveRecord::Base#inspect方法只包含列名。 Rails 5.1 包含虚拟属性名称。 -
你解决了吗?
标签: ruby-on-rails ruby-on-rails-5