搜查分类协会
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
我对此进行了一段时间的故障排除,发现有几个问题似乎描述了我的问题,但 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