2013-06-17 2 views
0

배열에 데이터베이스에 입력 할 때 select에 공백 값이 있습니다.이 빈 값은 배열과 함께 포함됩니다. 원하지 않는 값입니다.선택 레일의 빈 값

이 비어있는 값은 꺼져 있지만 선택보기에는 "선택 사항 없음"옵션이 있어야합니다.

<%= f.select(:newpages, @pages, { :default => nil } , :include_blank => false, :multiple => true, :size => '7', :selected => @selected) %> 

I 갖는 시도 : include_blank => {} 내의 오류와 상기가없는 것이다.

감사합니다.

편집 :

[ "", "1", "2", "3", "4"]

제 "는"항상이 같은

출력 도시 포함 된 이유를 모르겠다. include_blank => false

+0

아마도'@ 페이지 '에 비어있는 페이지가 있습니까? – MrYoshiji

+0

@pages는 표시되는 숫자의 배열입니다. 배열에 빈 번호가 없습니다. – muhammadn

답변

0
<%= f.select(:newpages, @pages, { :include_blank => true } %> 

선택보기에 빈 옵션이 표시됩니다. 당신이 말하고있는 빈 값은 콜렉션 '@pages'에서 가져와야합니다. 컬렉션에 빈 값이 있으면 컬렉션을 확인하십시오.

+0

빈 "값"을 데이터베이스에 저장하지 못하게 할 수 있습니까? 빈 옵션을 선택하면 값이 배열에서 [ "", ""] 같이 나오기 때문입니다. – muhammadn

+0

버튼을 클릭하면 업데이트 할 수 있습니다 : 매개 변수 : { "utf8"=> ","authenticity_token "=>"BD6Ma7/5cIP6kp5 + 4ja7LPJnKDlIfmX/7B6/vPHPazY = ","print "=> {"수량 ">"1 ","newpages "=> [" "," "],"comment "=>"주석 없음 "}"commit "=>"Update Print ","id "=>"3 " } – muhammadn

+0

'multiple : true'옵션을 추가 할 수도 있습니다. 그렇지 않으면 배열에서 가져 오지 않을 것입니다. 이를 제거하고 "@pages"컬렉션에 공백이 없어야합니다. – Prem