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 %>

ただし、フィルターが適用された状態でページが再表示されると、入力フィールドと選択タグには明らかに最後のリクエストの値が含まれていません。値を保持するにはどうすればよいですか?

コントローラーのアクションでインスタンス変数を作成し、それらをビューで使用して params[:status] と params[:description] にアクセスすることを考えましたが、これが「難しい」解決策であるかどうかはわかりません。それとも、ビューで直接 params を使用しますか?

現在の解決策は、ビューの params[:attribute] です。

4

1 に答える 1

1

たとえば、次のように値を設定する必要があります。

text_field_tag :description, params[:description]
于 2012-08-10T22:19:36.260 に答える