首页 > 解决方案 > Rails 5,聚合范围

问题描述

我有两个模型,产品和图像。产品有很多图像。每个图像都有带有数字的位置字段。

 Product
 id | name
 1  | Car

Image 
id| product_id| file_name | position
1 | 1         | asdad.jpg | 1
1 | 1         | asda.jpg  | 2

如何为具有最低位置编号的一张图像创建范围?

scope :main_image, -> { ??? }

然后:

@product.main_image.image.url

问候 Sssebaa

标签: ruby-on-railsruby-on-rails-3

解决方案


您实际上并不需要范围,您需要名为的方法main_image

def main_image
  images.order(:position).first
end

推荐阅读