gpt4 book ai didi

ruby-on-rails - 关联的 Rails 顺序被忽略

转载 作者:行者123 更新时间:2023-12-01 08:32:10 25 4
gpt4 key购买 nike

我试图按两列排序,一列是被忽略的关联列,未实现。是否可以在循环中按关联排序?

循环

<% @info.each do |data| %>
<% data.selections.size.times do |i| %>
<% unless data.progressions.blank? %>
<% data.progressions.order_scope.in_groups_of(7)[i].each_with_index do |e, index| %>
<% if index == 0 %>
<%= e.selection.name rescue 0 %>
<% end %>
<%= Time.at(e.assessment.date/1000).strftime("%d/%m/%Y") rescue 0 %>
<% end %>
<% end %>
<% end %>
<% end %>

型号

belongs_to :selection, primary_key: 'selection_id', foreign_key: 'selection_id', optional: true
belongs_to :assessment, primary_key: 'assessment_id', optional: true

scope :order_scope, -> { order('selection_id').joins(:assessment).order('assessments.date') }

这是前面代码输出的输出,它似乎是随机放置日期而不是按顺序放置。

|name 1|     0    |0|0|0|02/01/2018|15/01/2018|23/01/2018|

|name 2|28/02/2018|0|0|0|02/01/2018|15/01/2018|21/01/2018|

最佳答案

我想是因为progressions可以有相同的selection_id,当你点它们的时候,结果可能不同。尝试将另一个唯一属性/列添加到 order 中,例如 created_atid,以便顺序始终是唯一的。

scope :order_scope, -> { order('selection_id, created_at').joins(:assessment).order('assessments.date') }

关于ruby-on-rails - 关联的 Rails 顺序被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49266996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com