太阳黑子全文搜索 - 显示搜索参数

时间:2012-10-05 00:31:17

标签: ruby-on-rails ruby ruby-on-rails-3 sunspot sunspot-rails

我想显示搜索对象的搜索参数。我使用铁轨和太阳黑子。

假设我有这本书的应用程序,其中存储了一堆书籍,并希望通过它们的名称和标题来搜索书籍。

图书模型:

class Book < ActiveRecord::Base
  validates_presence_of :title, :author_name

  searchable do
    text :title, :author_name
  end
end

控制器:

class BooksController < ApplictionController
  def index
   @search = Book.search do
    fulltext params[:search]
  end
   @results = @search.results
  end
end

查看:

<div>
 <h1>You search: </h1>
 <% for result in @results %>
    <li>
      <h3><%= link_to result.title, result %></h3>
      <p><%= result.author_name %></p>
    </li>
 <% end %>
</div>

如何显示搜索参数,该对象在哪里?

所以输出:

Your search: Jeff Hawkins
Eggs and butter
Jeff Hawkins

1 个答案:

答案 0 :(得分:0)

将您的控制器代码更改为:

def index
  @query = params[:search]
  @search = Book.search do
    fulltext params[:search]
  end
  @results = @search.results
end

然后在你看来你可以这样做:

<h1>Your search: <%= @query %></h1>