2012-11-20 4 views
4

나는 양식에서 선택 양식 (드롭 다운 목록)이있는 레일 응용 프로그램이 있습니다. ,레일 : 양식 선택 배열/목록 인스턴스 변수

@formlist = 1 : 예를 들어, 사용자가 예를 들어, 1,2,3,4,5

에서 말을 선택 같은 I 인스턴스 변수 어레이에 저장된 이들 값을 가지고 2,3,4,5]

각 항목을 개별적으로 나열하는 대신 배열을 양식 선택 도우미에 간단하게 넣을 수 있습니다. 순간 내 코드는 다음과 같습니다

<tr> 
    <th><%= f.label(:heat_level, "Heat Level") %></th> 
    <td><%= f.select(:heat_level,{ 1 => "1", 2 => "2", 3 => "3", 4 => "4", 5 => "5"}) %></td> 
</tr> 

답변

13

이 작동합니다 :

f.select(:heat_level, @formlist.map { |value| [ value, value ] }) 

일부 설명 : select 모두 해시 같은 및 배열과 같은 옵션 목록을 처리 할 수 ​​

양식을 . 의미, 두 { 1 => "1", 2 => "2", 3 => "3", 4 => "4", 5 => "5"}

[[1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]

작동합니다. (: heat_level, @formlist)`당신에게 동일한 결과를 줄거야입니다

@formlist.map { |value| [ value, value ] } 후자

+0

그냥 미래의 사용자를위한 업데이트 할 않는, 매핑이 얕은 배열'f.select에 완전히 불필요 – TheRealMrCrowley