1

query_type.rb 中的现有代码:

def flags(program_id:, filter: {}, sort: {})
      program = Program.find(program_id)
      context[:auth].set_current_parent_program_id(program.id)
      flags = Report.joins(:participant).where(registrants: { program_id: program.id })
      Types::Programs::FlagsFilter.get_filtered(flags: flags, filter: filter, sort: sort)
 end

我是 Ruby 新手,标志以相反的顺序(升序)出现,我想将默认值设置为降序。我试过这样设置:

def flags(program_id:, filter: {}, sort: { column: 'created_at', direction: 'DESCENDING' })
      program = Program.find(program_id)
      context[:auth].set_current_parent_program_id(program.id)
      flags = Report.joins(:participant).where(registrants: { program_id: program.id })
      Types::Programs::FlagsFilter.get_filtered(flags: flags, filter: filter, sort: sort)
 end

但我收到一个错误:{:column=>“created_at”, :direction=>“DESCENDING”}:Hash 的未定义方法 `column' 并且我的标志表不再呈现。有什么建议么?我也试过把专栏放在引号里。

4

1 回答 1

0

设置sort参数的默认值

flags(program_id:, filter: {}, sort: { column: 'created_at', direction: 'desc' })

上面的示例代码可能是解决方案

'因为这一切仍然取决于您在Types::Programs::FlagsFilter.get_filtered类方法中的实际代码:-)

于 2020-10-30T21:11:47.337 回答