2012-07-29 163 views
2

我需要在我的搜索表單中添加過濾器搜索功能。 這就像一個社交網絡。我的應用程序有社會,社會有類別(時尚,新聞,工廠,ecc)。我需要我的搜索來過濾這些類別。Rails:搜索過濾器模型屬性

因爲我看到有大量的搜索寶石(solr,思維獅身人面像,elasticsearch,太陽黑子),並通過所有這些查找是有點壓倒有人完成這樣的任務? 有什麼建議嗎?

事物的搜索表單應該執行:

1)搜索一個協會名稱(我可以用太陽黑子處理這個)
2)由用戶在選擇標籤選擇分類篩選所有協會(類似this
3)如果兩個文本字段和選擇填充,只有在選擇

+0

很難說沒有關於您的應用程序和體系結構的更深入的知識。有幾個比較周圍。另外我建議看看相關的Railscasts:http://railscasts.com – iltempo 2012-07-29 14:38:46

+0

謝謝,但我已經檢查過它們。應用程序很簡單:許多社會,每個人都歸類並且我想要搜索類別。 – Barbared 2012-07-29 15:24:34

+0

你是說你不想使用寶石,你想自己推出這個寶石,並希望指導如何做到這一點? – JohnMerlino 2012-07-29 16:16:06

回答

0

一個偉大的寶石,我發現最近是Ransack的範疇,瑞恩·貝茨有一個RailsCasts for搜索的名稱。

這是一個如何使用它的例子。

<%= search_form_for @query do |f| %> 
    <!-- filter: `society_name` contains text --> 
    <%= f.label :society_name_cont %> 
    <%= f.text_field :society_name_cont %> 

    <!-- filter: `category_id` equals --> 
    <%= f.label :category_id_eq %> 
    <%= f.collection_select :category_id_eq, Category.all, :id, :name %> 
<% end %> 

如果你不熟悉collection_select Rails的指南將幫助< http://guides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease>。