搜查分类协会

Ransack Sorting Association

我对此进行了一段时间的故障排除,发现有几个问题似乎描述了我的问题,但 none 的解决方案有效。

我有两个模型 属性 和列表,我想添加一个排序 link,它将按列表中的字段对属性列表进行排序。

我的模型看起来像:

class Property < ApplicationRecord
  has_many :listings
end


class Listing < ApplicationRecord
  belongs_to :property
end

控制器执行:

@q =Property.joins(:listings).select('id', 'full_address', 'price_pence', 'first_listed_date', 'property_type', 'bedrooms', 'listings.agency').ransack(params[:q])
@properties = @q.result

那么如何使我的排序 link 有效?

<%= sort_link(@q, :listing_agency, 'Agency') %>

使用

<%= sort_link(@q, :listings_agency, 'Agency') %>

而不是

<%= sort_link(@q, :listing_agency, 'Agency') %>

我们必须使用#{association}_#{field_name}

因此,在您的情况下,用户关联是 listings 而不是 listing