2012-08-10 86 views
2

我剛剛設法讓我的索引操作上的過濾器功能正常工作。 所以,現在你可以使用:如何保留搜索/過濾器中的輸入值

myurl.com/questions?status=approved&description=blahblah 

我使用,我添加了一個簡單的形式

<%= form_tag questions_path, :method => :get do %> 
    <%= text_field_tag :description %> 
    <%= select_tag :status, options_for_select(question_statuses), :include_blank => true %> 
    <%= submit_tag "Search" %> 
<% end %> 

但是該指數來看,當頁面與過濾器重新顯示應用的輸入字段而select標籤顯然不包含上次請求的值。我如何設法保存這些值?

我想在控制器動作中創建實例變量,並在視圖中使用它們來訪問params [:status]和params [:description],但我不知道這是否是一個「毛茸茸的」解決方案?或者你只是在視圖中直接使用params?

當前的解決方案是在視圖中的params [:attribute]。

+1

嘗試[洗劫(https://github.com/ernie/ransack/)。它更重,但它會讓你的代碼更清潔。 – melekes 2012-08-10 18:40:05

回答

1

你應該設定值,例如像這樣:

text_field_tag :description, params[:description]