只是想知道是否有更有效的方法来处理以下查询,我的控制器中有
@latest = Portfolio.limit(3).order('taken desc')
从我的模型中提取最新的3条记录。
是否有更高效的查询可以处理此问题,是否可以在模型的范围内更好地提供查询?
建议赞赏
由于
答案 0 :(得分:3)
这样的事应该可以正常工作
class Portfolio < ActiveRecord::Base
scope :last_three_taken, -> { order('taken desc').limit(3) }
end
这将使您的控制器更加独立于数据库逻辑:
@latest = Portfolio.last_three_taken
因此,从性能的角度来看,它不会更有效率,但在我看来它会获得更好的MVC分离。