我正在整理一个存储库类型的 rails 3 站点。我已经安装了 Thinking Sphinx 并在我的网站上工作,因为我可以输入类似的网址localhost:3000/articles?search=test&page=2
,它会返回预期的结果。
我是 Rails 的新手(以及一般的 Web 开发人员);我想我可以管理这方面的模型和控制器方面,但到目前为止的观点让我很难过。我有一个侧边栏我想用作搜索界面。我最接近的是这个(作为侧边栏部分的一部分呈现):
<% form_tag @search, :method => :get do %>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search"%>
<% end %>
搜索方法在我的文章#index 控制器中,当我在浏览器指向该页面(路由为/articles
)时对其进行测试时,它按预期工作,但使用了这个奇怪的 url: localhost:3000/articles?utf8=✓&search=test&commit=Search
。当浏览器第一次指向根路径时,什么也没有发生。
所以,我认为这些是我需要解决的主要问题:
- 编辑 - 已解决(见下文)
- 我应该将搜索方法移动到他们自己的控制器,还是应该成为文章控制器的一部分?目前,Article 将是唯一被索引的模型。
- 编辑 - 已解决(见下文)
- 有没有人有使用 Rails 3 和 Thinking Sphinx 的多面搜索视图的任何好的示例代码?就像我说的,我是一个新手,对视图实现略读的文档感到有些慌乱。但是,只要代码相当完整,我就相当擅长阅读和解释代码。
提前致谢!
解决了:
如何在尝试搜索之前让“搜索”按钮调用 index 方法?(我已经通过替换解决了这个问题
@search
)articles_path
。解决了 using
will_paginate
,我以前遇到过麻烦,但现在似乎可以工作了。