2012-10-05 61 views
0

我想顯示搜索對象的搜索參數。我使用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> 

我如何顯示搜索看齊ameter,那個物體在哪裏?

因此它輸出:

回答

0

更改控制器代碼:

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

然後在你看來,你可以這樣做:

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

dosent它返回時,數組你preform一個搜索有一個搜索參數字段? – SHUMAcupcake

+0

該數組不會('@ results'),因爲它只是一個活動記錄對象的數組,'@ search'對象具有,但它的嵌入深度很深 - 從那裏獲取搜索參數,您需要做像這樣:'@ search.query.fulltext.to_params [:q]'進行簡單的搜索。這不可靠,並且絕對不會抵制太陽黑子寶石的變化。剛纔提到的參數會更好。 –