假设在控制器中我们有这样的东西:
@org = Org.includes(programs: :patient_counts]).find(params[:id])
respond_with(@org)
现在我将它传递给 JBuilder:
json.program @org.programs do |program|
json.(program, :name)
# more code to also return some info from patien_counts table too
end
因此,如果我有 200 个程序并且在 1-1 关系中我也有 200 个患者计数,那么返回的 JSON 将有 200 个对象。但就我而言,我只想要一定数量的。例如,我假设 patient_counts 表有两个名为 Salary 和 Bonus 的字段,我想在 JSON 中返回 15 个对象,而不是所有这 200 个对象......其中只有 15 个具有最高 Salary+Bonus。
对于这种情况下的逻辑和计算,我该怎么办?
编辑:关于模型的信息:
program.rb :
name:string
has_many: patient_conuts
patient_count.rb:
belongs_to: program
program_id # from the program above
total_amount: integer