Sunspot gem返回所有数据,例如select * from contents
我的模特是
has_many :pictures, :dependent => :destroy
searchable do
text :title
integer :id
text :pictures do
pictures.map { |picture| picture.image_file_name }
end
end
我的调用部分代码是
@search = Contents.search do
fulltext params[:q].to_s
fields(:title)
fields(:image_file_name)
end
I am looking for filter result which search from multiple fields and multiple tables
答案 0 :(得分:0)
您需要在代码中更改的一件事是您要搜索的fields属性。在模型中,您已将可搜索字段定义为:
text :pictures do
pictures.map { |picture| picture.image_file_name }
end
因此,您的可搜索字段名为图片。 但是在控制器搜索中,您尝试搜索字段 image_file_name ,而您应该搜索字段图片。
因此,您的搜索代码需要看起来像这样:
@search = Contents.search do
fulltext params[:q].to_s do
fields(:title, :pictures)
end
end
如果您仍然面临问题,请同时在视图中发布您正在使用的代码。