2011-12-19 2 views
0

치료 문제에 대한 맹금으로 인해 유감 스럽지만 한 시간 넘게이 문제를 꼼짝 않고 들여다 보았고 내 코드의 다른 예와 일치하는 것으로 보입니다. 내 드롭 다운 상자가 예상대로 채워지지 않습니다. 나는이 얻을 레일 콘솔에서내 드롭 다운 상자가 채워지지 않는 이유는 무엇입니까?

<%= form_for :distro, :url => update_multiple_admin_distributions_workflows_path, :html => { :method => :put } do |f| %> 
    <ul> 
     <% for distribution in @distros %> 
      <li> 
      <%= hidden_field_tag "distribution_ids[]", distribution.id %> 
      <%=h distribution.type %> 
      </li> 
     <% end %> 
    </ul> 
    <p> 
    <%= f.label :status %><br /> 
    <%= f.select :status, options_for_select(Distribution.select(:status).group(:status).order(:status).map { |d| [d.status, d.status] }), :include_blank => true %> 
    </p> 
    <p><%= f.submit "Submit" %></p> 
<% end %> 

: 내가 찾고 목록 것으로 보인다

>> Distribution.select(:status).group(:status).order(:status).map {|d| [d.status, d.status]} 
[["delivered", "delivered"], ["follow up", "follow up"]] 
    Distribution Load (0.5ms) SELECT status FROM "distributions" GROUP BY status ORDER BY status 

여기

는 내보기의 전체이다.

는 업데이트 :

나는 선택 도우미 라인을 수정 :distro을 추가하고이 오류를 받기 시작 :

정의되지 않은 메서드 "\ n을"에 대한`병합 'ActiveSupport :: SafeBuffer

몇 가지 빠른을 googling 나는 f.select에서 f. 부분을 제거 제안했다. 그러나 이로 인해 드롭 다운 상자의 너비가 축소되고 공백으로 남아있었습니다.

+0

확실하지 않음 '). – Batkins

+0

그것을 잡아 주셔서 감사하지만 차이를 만들지 않은 것 같습니다. – Ramy

+0

'options_for_select'가 필요없는 것처럼 보입니다. 단지'Distribution.select (: status) .group (: status) .order (: status) .map {| d | [d.status, d.status]}'를'options_for_select'에 대한 메소드 호출없이 인자로 사용합니다. http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select – Batkins

답변

3

options_for_select( 부분 (및 마지막 괄호)을 제거하십시오.

Distribution.select(:status).group(:status).order(:status).map { |d| [d.status, d.status] } 

은 필요한 것을 모두 제공해야합니다.

:distro (주석 재)

편집은 f.select가 자동적으로 추가합니다의 form_for입니다. '<% = 시간 distribution.type %의>'(전에`시간이 당신에 유래에이 코드를 붙여 단지 오타이지만,이 라인에 공간을 누락과 같은 경우

<%= f.select :status, Distribution.select(:status).group(:status).order(:status).map { |d| [d.status, d.status] }, :include_blank => "-- Select One --" %> 
+0

이렇게하면 :'심볼을 배열 인덱스로 ' – Ramy

+0

'<% = f.select : distro, : status, Distribution.select (: status) .group (: status) .order (: status) .map {| d | [d.status, dstatus]}, : include_blank => "- 하나 선택 -"%>' – Ramy

+0

도움에 감사드립니다! – Ramy

관련 문제