2017-02-16 5 views
2

웹 앱용 API를 개발 중입니다. 필자는 param1의 값이 false 인 경우에만 param2가 필요한 상황에 직면하고 있습니다. 조건문을 사용하여이를 성취 할 수있었습니다. 이 유형의 유효성 확인을 위해 포도에 inbuilt 메소드가 있는지 알고 싶습니다.레일 - 포도의 조건에 따라 매개 변수를 확인하십시오.

params do 
requires :model_name, type: Hash do 
    optional :params1 
    if params1 == false 
    require :params2 
    end 
end 
end 

답변

0

아래 라인에 뭔가 당신은 아마 주어진 PARAMS가 version 0.8.0

부터

params do 
requires :model_name, type: Hash do 
    optional :params1 
    optional :params2 
    mutually_exclusive :params1, :params2 
end 
end 

포도가 지원 요청에 동시에 존재하지 않는 보장 mutually_exclusive 검증 필요 exactly_one_of, all_or_none_of, at_least_one_of과 같은 다른 옵션도 있습니다. Read more

+0

감사합니다. 하지만 내 요청에는 두 매개 변수가 모두 들어 있습니다. 프런트 엔드에 ember.js를 사용하고 있는데, params를 선택하여 레일로 보내지 않도록합니다. – sureshprasanna70