Sunspot Rails - 用户可以更改要搜索的字段吗?

发布于 2024-12-08 23:51:45 字数 554 浏览 1 评论 0原文

我开始使用 Sunspot 在 Rails 3 应用程序中执行搜索,但遇到了疑问。有没有一种方法可以让用户选择他/她想要搜索的字段。例如,在我的应用程序中,我们有:

class Project < ActiveRecord::Base
    searchable do
      text :name, :content, :keyword
    end
end

在视图中默认搜索栏:

<%= form_tag projects_path, :method => :get do %>
  <p>
    <%= text_field_tag :search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
<% end %> 

我可以添加单选按钮或类似的东西,以便用户可以标记它以便仅按名称、内容或关键字进行搜索吗?如果是的话,我该怎么做?

多谢。

I started using Sunspot to perform searches in my Rails 3 app and I ran into a doubt. Is there a way that I can let the user choose in what fields he/she wants to search. For example, in my app we have:

class Project < ActiveRecord::Base
    searchable do
      text :name, :content, :keyword
    end
end

And in the View the default search bar:

<%= form_tag projects_path, :method => :get do %>
  <p>
    <%= text_field_tag :search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
<% end %> 

Can I add a radio button or something like that so the user can mark it in order just to search by name, or content or keyword? If yes, how can I make it?

Thanks a lot.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

野の 2024-12-15 23:51:45

观看有关该主题的 Railscast:http://railscasts.com/episodes/278-search- with-sunspot .. 在其中,Ryan 让用户可以选择按月份进行查询。

因此,如果发送了月份:

def index
  @search = Article.search do
    fulltext params[:search]
    with(:publish_month, params[:month]) if params[:month].present?
  end
  @articles = @search.results
end

Watch the railscasts on the subject: http://railscasts.com/episodes/278-search-with-sunspot .. in it, Ryan lets user's query optionally by month.

So, if month was sent in:

def index
  @search = Article.search do
    fulltext params[:search]
    with(:publish_month, params[:month]) if params[:month].present?
  end
  @articles = @search.results
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文