2016-08-23 25 views
1

Ransackを使用して、リストをフィルタリングするための単純なドロップダウンがあります。 OKですが、送信ボタンを押す必要があります。選択ボックスのRANSACK送信フォーム

私は

search_form_for
<%= search_form_for @query do |f| %> 
    <%= f.select :category_eq, options_for_select(Article::CATEGORIES.sort.map {|k,v| [v,k]}), include_blank: true, onchange: "this.form.submit();" %> 
    <%= f.submit %> 
<% end %> 

のonchangeを提出するドロップダウンを変化させる作用が

onchange: "this.form.submit();" 

EDIT

動作しませんたいですonchangeはレンダリングに現れませんフォーム

<form class="article_search" id="article_search" action="/articles" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓"> 
     <select name="q[category_eq]" id="q_category_eq"><option value=""></option> 
<option value="caffe">Caffe</option> 
<option value="data_mining">Data mining</option> 
<option value="deep_learning">Deep learning</option> 


     <input type="submit" name="commit" value="Search"> 

EDIT 2

search_form_for はちょうどHTMLオプションのハッシュは別個のものとして渡されるべきのform_for

https://github.com/activerecord-hackery/ransack/blob/26cb9e4210fd1728f266ea40095ed6093ca4a994/lib/ransack/helpers/form_helper.rb#L34

+0

HTMLの外観はどうですか? 'select'を変更するとどうなりますか?コンソールの出力には何が表示されますか? – coreyward

+0

選択を変更しても何も起こりません。更新された質問でレンダリングされたフォームを参照 - onchangeは存在しません。 – ardochhigh

答えて

1

にオプションを渡すように見えますパラメータ。ここではそれについての詳細情報:http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

あなたが試すことができます。

<%= f.select :category_eq, ..., { include_blank: true }, { onchange: 'this.form.submit();' } %> 

運のベスト!

+0

それでした! (記事:: CATEGORIES.sort.map {| k、v | [v、k]})、{include_blank:true}、{onchange: 'this.form.submit(' ); ' }%> ' – ardochhigh

+1

私はあなたの問題を解決してうれしいです。 :) –

関連する問題