【问题标题】:How to add a default value to sort: in query_type.rb如何为排序添加默认值:在 query_type.rb
【发布时间】:2020-10-30 18:25:52
【问题描述】:

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' 并且我的标志表不再呈现。有什么建议么?我也尝试将列放在引号中。

【问题讨论】:

    标签: ruby typescript ruby-on-rails-3 graphql graphql-ruby


    【解决方案1】:

    设置sort参数的默认值

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多