在 Rails 中设置 Thinking Sphinx
我正在尝试在我的 Rails 3 应用程序中设置 Thinking 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.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"
当我尝试通过直接在浏览器中键入搜索条件 URL 来运行搜索时,我收到此错误:
Routing Error
undefined method `define_index' for #<Class:0xb3ada670>
我需要做什么?
I'm trying to set up Thinking Sphinx in my Rails 3 app, but I am getting a "Routing Error".
I set up MySQL and installed Sphinx without error. My gemfile contains:
gem "riddle", "~> 1.5.0"
gem "thinking-sphinx", "~> 2.0.10"
These install without a problem.
My model contains:
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
and my index action in my controller contains:
def index
@profiles = Profile.search params[:search]
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @profiles }
end
end
This is what my routes look like:
match "profiles?search=:search", :to => "profiles#index"
When I try running a search by typing the search criteria URL directly into the browser, I get this error:
Routing Error
undefined method `define_index' for #<Class:0xb3ada670>
What do I need to do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
运行 rakethinking_sphinx:rebuild 解决了我的“未定义方法”问题。
Running
rake thinking_sphinx:rebuild
fixed my "undefined method" problem.