2012-07-25 2 views
3

많은 필드에서 "해당하는 항목 모두 선택"옵션이 필요한 formtastic 양식을 설정하고 있습니다. (필자는 슬림하지만 필요한 경우 이것을 다시 정상 레일로 변환 할 수 있습니다).Formtastic 체크 박스는 빈 항목이있는 목록을 제출합니다. (선택된 ID 이외에)

예를 들면. 이것은 체크 박스의 무리가 나타 존재들만을 생성

= f.input :categories_list, :label => _("Commonly Found In"), :as => :check_boxes, :multiple => true, :collection => Category.all 

:이 입력을 정의합니다. 내가 하나 (또는 ​​두 개 또는 세)를 선택하지만 그것이 내가 만드는 오전 모델의 생성을 중단하고, 나는 categories_list 필드로 제출 것으로 나타났습니다 : 같은

"categories_list"=>["", "1", "2"], 

대신 :

"categories_list"=>["1", "2"], 

사람이 이유를 알고 있습니까? 이것은 형식적인 버그입니까? 더 관련성 높은 코드를 게시해야하는지 알려주세요. 이 작업을 수행하는 방법을 알고 싶습니다.

답변

4

모든 선택을 지울 수 있습니다. 배열의 시작 부분에 공백/빈 값이 없으면 브라우저는 categories_list 매개 변수를 전혀 설정하지 않고 기존 확인란을 선택 상태로 유지합니다.

categories_list으로 설정하지 않으면 사용자가 의도 한 바가 무엇인지 알 수 없습니다.

컨트롤러 또는 모델에서 작동하지 않는 매개 변수에서이 빈 옵션을 필터링하기 만하면됩니다.하지만이를 기각하기 전에 수정 사항을 복제하는 것이 좋습니다.

+0

감사합니다. 매일 새로운 것을 배우십시오! – jay