2012-10-31 4 views
0

나는 카테고리가있는 선택 상자가있는 양식이 있습니다. 특정 카테고리가 선택되면 다른 선택 상자/드롭 다운이 사용자에게 표시됩니다. 이 카테고리를 선택하면 두 번째 드롭 다운이 필수 입력란이되어야합니다.일부 상황에서 선택 상자를 필수 입력란으로 변경

이 필드가 반드시 필요한 것은 아니므로 validates :course, :presence => {:message => 'Course cannot be blank.'}을 모델에 추가 할 수 없습니다. 첫 번째 드롭 박스에서 특정 카테고리가 선택된 경우에만 필요한 다른 방법이 필요합니다. 당신의 도움이

답변

0

당신은 다음과 같이 validatesif 인수를 사용하여 시도해 볼 수도 있습니다에 대한

감사 : 자세한 내용은

validates :course, :presence => {:message => "Course cannot be blink."}, :if => Proc.new { |u| u.first_dropdown_value == 'value_that_you_validate_courses_for' } 

Rails documentation on conditional validation을 확인하십시오.

+0

첫 번째 선택 상자는 privacy_level의 값을 설정합니다. 다음을 추가했습니다 : validates : course_id, : presence => {: message => "코스는 비워 둘 수 없습니다."}, if :> Survey.new {| u | u.privacy_level == 1}하지만 다음과 같은 오류가 발생합니다 : # marimaf

+0

에 대해 정의되지 않은 메서드'validate '사용': if => Proc.new {| s | s.privacy_level == 1}'. 또한 [if : and unless] 기호 ([http://guides.rubyonrails.org/active_record_validations_callbacks.html#using-a-symbol-with-if-and-unless])를 확인하십시오. 그러면 코드가 더 깔끔해질 수 있습니다 오래 걸리면. – girasquid

+0

감사합니다. Proc. 미안합니다. 당신의 도움을 주셔서 감사합니다! – marimaf

관련 문제