0
我在Rails 3.1上,我使用的是Ransack Gem。這是我在我的控制器:返回0條記錄元搜索
@q = Person.search(params[:q])
@people = @q.result
這是我在我的觀點:
<%= search_form_for @q do |f| %>
<label>Given Name:</label>
<%= f.text_field :given_name_cont %>
<label>Family Name:</label>
<%= f.text_field :family_name_cont %>
<%= f.submit %>
<% end %>
這工作得很好,是每洗劫文檔。但是,如果我的搜索表單不包含任何參數(即沒有指定搜索),它將返回全部記錄。我想要發生的是NO記錄返回。
我的Ruby非常弱,所以有人可以告訴我如果沒有參數[:q]或params [:q]沒有指定任何搜索條件(即用戶提交),@people如何清楚地返回一個空數組一個空的表格)。
本質上,我的問題與Metasearch question on StackOverFlow一樣,但該解決方案似乎不適用於Ransack,因爲它抱怨「search_attributes」不是可用的方法。
重要的是,它返回的記錄沒有參數提交,並提交了空的參數。任何解釋爲什麼你的代碼工作的說明都會很好。謝謝。
感謝完美的作品。 #nil.blank的解釋?和[] .blank?也有幫助。 – Oscar