Ruby on Railsの理念は同じ(同じような)コードを2度書かないです。
partial化と
gem ransack
をお勧めします。
これは検索用のgemですが
_search.html.erb
ruby
1<%= search_form_for @q ,url: {:controller=>"hoge",:action=>"index"} do |f| %>
2年齢
3<%= f.select :nenreikubun_id_eq,@nenreikubun,:include_blank=>true %>
4性別
5<%= f.select :seibetu_id_eq ,@seibetu,:include_blank=>true%>
6出身県
7<%= f.select :todouhuken_eq,@todouhuken,:include_blank=>true %>
8
9<%end%>
10
hoge_controller.rb
ruby
1def index
2@q=Hoge.search(params[:q])
3@hoge=@q.result
4@nenreikubun=NenreiKubun.pluck(:name,:id)
5@seibetu=Seibetu.pluck(:name,:id)
6@todouhuken=Todouhuken.pluck(:name,:id)
7end
現在のindex.html.erbを
_index.html.erbに変えて
index.html.erb
ruby
1<%= render :partial=>'search' %>
2<%= render :partial=>'index' %>
とするだけで828kk88
さまのやりたいことはできたも当然です。