小编Joa*_*nna的帖子

ruby on rails 如何从中获取最新记录有很多关系

我是 Ruby on Rails 的新手。我有一个问题 - 如何从模型中的许多关系中只获取最新记录。我的代码是这样的:

class User < ActiveRecord::Base 
  has_many :books
end

class Book < ActiveRecord::Base
  belongs_to :user

  scope :rating, -> { where(rating: 5) }
end
Run Code Online (Sandbox Code Playgroud)

我想实现的是:我想为每个用户获取所有最新(最后)一本书,而不是使用范围评级过滤这本书。我可以使用每个循环来执行此操作(通过 User.books 循环并获取 book.last) - 但这非常低效,因为我有很多数据。你有什么想法我怎么能做到这一点?也许某种范围相互链接?

ruby ruby-on-rails has-many

5
推荐指数
1
解决办法
3287
查看次数

标签 统计

has-many ×1

ruby ×1

ruby-on-rails ×1