2013-05-10 4 views
5

jquery chained을 사용하고 첫 번째 빈 옵션을 선택하면 두 번째 드롭 다운 목록이 회색으로 표시됩니다. 나는 그것을 잠글 수있는 두 번째 목록에 빈 옵션이 필요하다고 가정하지만 빈 옵션을 추가하는 방법을 모르겠습니다. 여기에 옵션을 선택레일에 공백 옵션 추가하기

<%= select_tag :equipment, options_for_select(Equipment.all.collect 
              { |e| ["#{e.model} - #{e.serialNum}",e.id, 
              :class =>"#{e.handReceipt}"]}, 
              html_options = {:id=>'equipment'}) %> 

다운 목록의 첫 번째 드롭 당신이 손 영수증 유형을 선택하고 체인 jQuery로, 두 번째 목록은 적절한 손 영수증 속성 레코드를 표시 할 수 있습니다.

위의 선택에 공백 옵션을 어떻게 추가합니까? ,

<%= select_tag :equipment, 
    options_for_select( [["--",""], 
          Equipment.all.collect{ |e| 
          ["#{e.model} - #{e.serialNum}", 
          e.id, :class =>"#{e.handReceipt}"]}], 
          html_options = {:id=>'equipment'}) %> 

이 대신 테이블의 모든 레코드를 표시의

<select id="equipment" name="equipment"> 
    <option value="">--</option> 
    <option value="[&quot;M4 - W432156&quot;, 10, {:class=&gt;&quot;Arms Room&quot;}]">[&quot;PSN-13 - 176985&quot;, 1, {:class=&gt;&quot;Commo&quot;}]</option> 
</select> 

목록 -

의 부적절한 디스플레이 결과 - 여기

편집 - 내가 지금까지 시도한 것입니다 공백 옵션과 두 번째 옵션 만 보여줍니다. 다음과 같은 오류에

<%= select_tag :equipment, 
    options_for_select( :include_blank => true, 
          Equipment.all.collect{ |e| 
          ["#{e.model} - #{e.serialNum}", 
          e.id, :class =>"#{e.handReceipt}"]}, 
          html_options = {:id=>'equipment'}) %> 

결과 -

C:/Users/Sam/Documents/ruby/btrp/app/views/vehicles/edit.html.erb:19: syntax error, unexpected ',', expecting tASSOC 
          e.id, :class =>"#{e.handReceipt}"]}, 
+0

'html_options'이 (가) 잘못되었습니다. 해시 형식을 사용해야하므로': html_options => {: id => '장비'} '가 올 Y 름 – daniloisr

+0

표시되고 수정되었습니다. 이전에 제대로 설정 중이었고 오류가 발생하지 않았습니다. 캐치를 가져 주셔서 감사합니다. –

답변

13
options_for_select에서 귀하의 매개 변수가 잘못

, 나는 그것이 올바른 방법이라고 생각 :

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select :

<%= select_tag :equipment, 
     options_for_select(Equipment.all.collect { |e| 
          ["#{e.model} - #{e.serialNum}", e.id, 
          { :class =>"#{e.handReceipt}" }]}), 
     :include_blank => true, 
     :id => 'equipment' %> 

더에서 읽기

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

+0

팁 주셔서 감사합니다. 선택 항목에 빈 옵션을 가져 오는 방법에 대한 의견이 있으십니까? –

+0

죄송합니다, 깜빡했습니다 =) – daniloisr

+1

글쎄. 하하는 아침 일찍이 일하도록 노력하면서 앉아있었습니다. include_blank가 options_for_select 아래에 있다고 생각했습니다. 도움말 구문을 해독하는 데 더 많은 시간을 할애해야한다고 생각합니다. 나는 그 페이지를 이미 1000 번 읽고 다시 읽었습니다. 도와 주셔서 감사합니다! –

0

다음과 같이 공백 값을 추가 할 수 있습니다.

<%= select_tag "category","<option value=''>Category</option>" + options_from_collection_for_select(@store_categories, "id", "name",params[:category].to_i)%>