【发布时间】:2021-06-19 18:18:44
【问题描述】:
我在 User 模型里面有这个
def self.home_opinions (user)
home_opinions = user.opinions
user.follows.find_each do |follow|
home_opinions+=(follow.opinions)
end
home_opinions.order_by_most_recent
end
我在Opinion 模型中有这个范围
scope :order_by_most_recent, -> { includes(:author).order(created_at: :desc) }
显示这个错误
undefined method `order_by_most_recent' for #<Array:0x00007eff64d076f8>
但是当我在 rails 控制台内尝试 User.home_opinions(User.find(9))
有效
我有两个问题
- 为什么会显示错误
- 此代码可能使用
includes的最佳做法是什么?
【问题讨论】:
标签: ruby-on-rails ruby activerecord ruby-on-rails-5