我试图在我的rails 3 app中设置思考sphinx。我设置了mysql并安装了sphinx而没有错误。在我的gemfile中我有
gem "riddle", "~> 1.5.0"
gem "thinking-sphinx", "~> 2.0.10"
这些安装很好。在我的模型中我有
define_index do
indexes :name
indexes acad_field
indexes expertise
indexes interests
indexes experience
indexes marital_status
indexes email
indexes place_of_birth
indexes birthyear
indexes hometown
indexes current_residence
indexes languages
indexes nationalities
indexes ethnicities_mom_dad
indexes institution
indexes program
end
在我控制器的索引中我有
def index
#@profiles = Profile.all
@profiles = Profile.search params[:search]
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @profiles }
end
end
在我的路线中我有
match "profiles?search=:search", :to => "profiles#index"
当我尝试运行搜索时出现错误
Routing Error
undefined method `define_index' for #<Class:0xb3ada670>
我在这里做错了什么。
答案 0 :(得分:2)
我只需要运行
rake thinking_sphinx:rebuild
在终端
答案 1 :(得分:0)
基于@fuzzyalej评论,所需的步骤是:
gem "thinking-sphinx", "~> 2.0.10", :require => 'thinking_sphinx'
答案 2 :(得分:0)
你在gemfile中添加gem规范后可能没有运行'bundle install',我不认为rake ts:rebuild实际上解决了这个问题:)