太阳黑子宝石返回所有结果

时间:2015-06-13 14:12:08

标签: ruby-on-rails ruby ruby-on-rails-4 sunspot

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

1 个答案:

答案 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

如果您仍然面临问题,请同时在视图中发布您正在使用的代码。