使用太阳黑子搜索ActsAsTaggableOn的问题

时间:2015-04-26 03:44:38

标签: ruby-on-rails acts-as-taggable-on sunspot-rails

我已经设置了太阳黑子,我在Place.name字段

中搜索得很好

现在我想搜索“act as taggable”标签

我已经为可标记的类别

设置了两个上下文

使用此模型和控制器我没有收到任何错误但是当我搜索我的标签名称时,太阳黑子不会返回任何结果。

我已经rake sunspot:reindexrake 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

1 个答案:

答案 0 :(得分:1)

在这种情况下,您应该在标记模型中添加searchable块。在我的记忆中,标记模型可能有关联,如果您想了解更多关于如何索引Rails关联的信息,可以查看{{3 }}