Use options_for_select to set the selected items in the search form
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 21 Mar 2018 09:35:36 +0000 (17:35 +0800)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 28 Mar 2018 03:05:46 +0000 (11:05 +0800)
app/views/issues/index.html.erb

index f688037..2a3e195 100644 (file)
@@ -4,10 +4,10 @@
 
 <%= form_tag(issues_path, :method => :get) do %>
 <p><%= t ".search_guidance" %></p>
-<%= select :status, nil, Issue.aasm.states.map(&:name).map{|state| [t("issues.states.#{state}"), state]}, { :include_blank => t(".select_status")}, data: { behavior: 'category_dropdown' } %>
-<%= select :issue_type, nil, @issue_types, { :include_blank => t(".select_type")}, data: { behavior: 'category_dropdown' } %>
+<%= select :status, nil, options_for_select(Issue.aasm.states.map(&:name).map{|state| [t("issues.states.#{state}"), state]}, params[:status]), { :include_blank => t(".select_status")}, data: { behavior: 'category_dropdown' } %>
+<%= select :issue_type, nil, options_for_select(@issue_types, params[:issue_type]), { :include_blank => t(".select_type")}, data: { behavior: 'category_dropdown' } %>
 <%= text_field_tag :search_by_user, params[:search_by_user], placeholder: t(".reported_user") %>
-<%= select :last_updated_by, nil, @users.all.collect  {|f| [f.display_name, f.id]} << [ t(".not_updated"), "nil"], { :include_blank => t(".select_last_updated_by")}, data: { behavior: 'category_dropdown' } %>
+<%= select :last_updated_by, nil, options_for_select(@users.all.collect{|f| [f.display_name, f.id]} << [ t(".not_updated"), "nil"], params[:last_updated_by]), { :include_blank => t(".select_last_updated_by")}, data: { behavior: 'category_dropdown' } %>
 <%= submit_tag t(".search") %>
 <% end %>
 <br/>