2016-08-23 1 views
1

Ransack을 사용하여 목록을 필터링하기위한 간단한 드롭 다운 목록이 있습니다. 그것은 정상적으로 작동하지만 제출 버튼을 눌러야합니다.Ransack 선택 상자의 양식 변경 제출

내가 제출 드롭 다운을 변경하는 작업을하고 싶습니다

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

search_form_for onchange를 편집

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

작동하지 않습니다

onchange가 렌더링에 나타나지 않는다. search_form_for 그냥 별도로 전달되어야한다 해시 form_for

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

+0

HTML의 모양은 무엇입니까? '선택'을 변경하면 어떻게됩니까? 콘솔 출력은 무엇을 보여줍니까? – coreyward

+0

선택을 변경할 때 아무런 변화가 없습니다. 업데이트 된 질문에서 렌더링 된 폼보기 - onchange가 없습니다. – ardochhigh

답변

1

HTML을 옵션에 옵션을 전달과 같은 형태

<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

같습니다 매개 변수. 여기에 대한 자세한 정보 : http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

당신은 시도 할 수 있습니다 :

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

행운을 빕니다!

+0

그랬어! {include_blank : true}, {on : 'this.form.submit (')} '%% f.select : category_eq, options_for_select (기사 :: CATEGORIES.sort.map {| k, v | [v, k]})); ' } %> ' – ardochhigh

+1

문제가 해결되어 기쁩니다. :) –

관련 문제