2017-02-16 5 views
2

WebアプリケーションのAPIを開発しています。ある特定のケースでは、param1の値がfalseの場合にのみparam2が必要な状況に直面しています。私はそれを達成するために条件文を使うことができました。私は、この種の検証のためにブドウにinbuiltメソッドがあるかどうか知りたいと思います。rails-grapeの条件に基づいてパラメータを検証します。

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

関連する問題