当前位置: 首页 > 知识库问答 >
问题:

Rails按外部属性排序活动记录

彭华皓
2023-03-14

我有这些疑问:

@collections = Collection.all()
render :json => @collections.as_json(
              :include => :items
            )

@collection = Collection.find(params[:id])

对于LIST和GET方法。一个集合有零个或多个项目。我在Items中定义了与alloy\u to field的关系,在集合中有许多字段,这很好。

然后,当我查询集合并呈现JSON时,我想按属于Item的名为number的整数变量对项目进行排序。

我试过了,但不起作用:

@collections = Collection.sort_by &:item_number

我想按编号对集合中的项目列表进行排序。这就是@collections=Collection。all()返回,我想按数字对项目列表排序。

{"id": 1,"title":"Collection","情节":"箭头","created_at":"2016-04-11T17:53:38.892Z","updated_at":"2016-04-11T17:53:38.892Z","item":[{"id": 10,"title":"Item 12","collection_id": 1,"created_at":"2016-04-11T23:27:08.302Z","updated_at":"2016-04-11T23:27:08.302Z","编号": 12},{"id": 11,"title":"Item 102","collection_id": 1,"created_at":"s2016-04-11T23:27:24.649Z","updated_at":"2016-04-11T23:27:24.649Z","编号": 10},{"id": 12,"title":"Item 9","collection_id": 1,"created_at":"2016-04-11T23:27:53.201Z","updated_at":"2016-04-11T23:27:53.201Z","编号": 9}]}

共有1个答案

左丘善
2023-03-14

您可以将订单添加到集合模型中的多个关系中

has_many :items, -> { order(:number) }

这将为您提供集合中按数字排序的项目列表

 类似资料:
  • 问题内容: 我正在尝试按属性对一些数据进行排序。这是我tought应该可以工作的示例,但事实并非如此。 HTML部分: JS部分: 结果: A-> AData B-> BData C-> C数据 …恕我直言,应如下所示: C-> C数据 B-> BData A-> AData 我是否错过了某些东西(可以在这里进行JSFiddle的实验)? 问题答案: AngularJS的orderBy过滤器仅支持

  • 我已经两天没有解决AR协会的问题了。我知道有一个简单的解决办法,但我想不出来。 我有两个模型,产品和用户,应该联系在一起。一个产品应该属于一个用户,一个用户应该有很多产品。我没有在控制器中设置用户变量,所以我选择了habtm关联。以下是模型: User.rb Product.rb products\u控制器。rb型 _形式。html。erb公司 架构。rb型 所以,即使我知道,用户和产品之间应该有

  • 问题内容: 我现在只需获取数组的前3个对象并映射它们: 每个都有一个属性(champ.level)。 如何将输出分类到 前三个切片中? 问题答案: 与自定义比较功能一起使用时,首先要进行降序排序: 使用ES6甚至更好:

  • 哦,那些狡猾的Java8条带有lambdas的溪流。它们非常强大,但是复杂的东西需要一点时间来包裹它。 假设我有一个类型,其属性为。假设我有这些用户的地图 ?

  • 我有一些对象的列表。我想先按一些属性和空值排序,比如在查询中: 我知道当我有字符串列表时,我可以这样做: 但是当我有一些类的对象列表时呢? 有什么建议我可以用java实现吗?

  • 问题内容: 在Rails 3.2中,是否有任何便捷的方法通过将具有特定字段的特定值的记录移动到关系的前面来订购ActiveRecord关系?例如,如果有一个attribute ,我想对任何查询返回的关系进行排序,其中记录必须位于该关系的前面。 问题答案: 这样的事情。显然,“名称,ID”将取决于您的型号和要求。