在 Rails 中设置 Thinking Sphinx

发布于 2024-12-17 01:22:32 字数 1214 浏览 4 评论 0原文

我正在尝试在我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲琵琶半遮面シ 2024-12-24 01:22:32

运行 rakethinking_sphinx:rebuild 解决了我的“未定义方法”问题。

Running rake thinking_sphinx:rebuild fixed my "undefined method" problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文