Searchkick - 动态排序和排序

Searchkick - dynamic ordering and sorting

我已经为 elasticsearch 实现了 searchkick,但我想根据存储在我的变量中的列名和方向对我的结果进行排序和排序。

类似于以下内容:

@suppliers = Supplier.search(
    query, 
    where: {
      :active => true
    }, 
    order: {
      "#{@column}": :"#{@direction}"
    },
    page: params[:page], 
    per_page:  @per_page, 
    misspellings: {distance: 2}, 
    fields: fields) 

但是部分:

order: {
      "#{@column}": :"#{@direction}"
    },

不起作用并抛出错误。 知道应该怎么写吗?

谢谢你,米罗斯拉夫

所以这是解决方案:

order: {
      "#{@sort}" => "#{@direction}"
    },