我有一个非常复杂的查询,导致记录集包含大量记录。现在在Ruby on Rails中,我想以这样一种方式对孩子进行排序。
赞record_set.sort_by_relation
。
是同一个表父母子关系。 Child通过parent_id与父级关联。
示例:具有以下结果的记录集:
期望的结果是:
sub tender 2
主要招标2
答案 0 :(得分:0)
你可以使用像Awesome Nested Set之类的宝石到达那里,你可以使用它来实现这种嵌套。
如果您不想使用某个宝石,您可以考虑首先让您的父母使用where('parent_id IS NULL')
之类的东西然后让每个父母使用{{1}获取其子女(以及其子女等) }。
令人敬畏的嵌套套装非常整洁。你将能够做到这样的事情:
where('parent_id = ?', object.id)
_record.html.erb
<ul>
<%- record_set.roots.each do |record| %>
<%= render :partial => 'record', :locals => {:record => record} %>
<%- end %>
</ul>
我希望这会有所帮助:)