我已经设置了太阳黑子,我在Place.name
字段
现在我想搜索“act as taggable”标签
我已经为可标记的类别
设置了两个上下文使用此模型和控制器我没有收到任何错误但是当我搜索我的标签名称时,太阳黑子不会返回任何结果。
我已经rake sunspot:reindex
和rake sunspot:solr:reindex
但没有变化。
当我在rails控制台中运行Place.last.categories
时,我只得到一个数组["Category one","Category 2"]
模型
class Place < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
searchable :auto_index => true, :auto_remove => true do
text :name, :stored => true
string :category_list, :multiple => true, :stored => true
end
acts_as_votable
acts_as_mappable :default_units => :kms,
:lat_column_name => :latitude,
:lng_column_name => :longitude
validates_presence_of :name , :state, :city, :neighborhood, :adress,:latitude, :longitude
belongs_to :user
acts_as_ordered_taggable_on :categories, :obstacles
end
控制器
class PlacesController < ApplicationController
before_action :set_place, only: [:show, :edit, :update, :destroy, :upvote, :downvote, :favorite]
before_action :authenticate_user!, except: [:index, :show]
# GET /places
# GET /places.json
def index
@search = Place.search do
fulltext params[:search]
end
@places = @search.results
end
答案 0 :(得分:1)
在这种情况下,您应该在标记模型中添加searchable
块。在我的记忆中,标记模型可能有关联,如果您想了解更多关于如何索引Rails关联的信息,可以查看{{3 }}