我有category_id
,我正在尝试查找与Post关联的所有sub_category
s(记录)。我正在使用不起作用的searchkick search_data
:
def search_data
attributes.merge (
category_id: sub_category(&:category_id)
)
end
搜索方法:
Post.search search_query,
where: search_options
如果搜索参数为search_options[:category_id] = 3
,则结果为空。
型号:
Post < ActiveRecord
belongs_to :sub_category
Category < ActiveRecord
has_and_belongs_to_many :sub_categories
SubCategory < ActiveRecord
has_and_belongs_to_many :categories
但是如果我事先找到categories
就好了,那就有用了:
category = Category.find( 3 )
search_options[:category_id] = category.sub_categories.pluck(:id)
为什么search_data
无法按预期工作? (没有上面的解决方法)
我怎样才能让它发挥作用?