0

私はレールアプリを開発していますが、今のところウェブサービスだけです..

これらの Web サービスの 1 つで、多くのユーザー情報を含む JSON を受け取ります。次に例を示します。

"friends": [
    {
        "name": "John",
        "age": "10",
        "country": "Ecuador"
    },
    {
        "name": "Tom",
        "age": "15",
        "country": "USA"
    },
    {
        "name": "Mery",
        "age": "20",
        "country": "Mexico"
    }
] 

だから...私のコントローラーでは、この「友達」のそれぞれをループして、Friend.newのようなことをします。そのオブジェクトのフィールドにデータを入力して保存します...

しかし、私の問題は、要求者に応答を送信するときに発生します。検証が失敗したり、そのようなことが原因で、このプロセスが失敗することがあります...どうすればこれを処理できますか? ループの begin...rescue...end を実行してから実行しますか? Respond_with に何を送信しますか? Respond_with({:error => "Validation problem"}) を送信することは可能ですか??

これを処理するための良いアプローチは何ですか? 何か案が?

みんなありがとう!

4

1 に答える 1

1

はい、何か問題が発生した場合は、respond_with を使用できます。たとえば、無効なオブジェクトのエラーをダンプし、これに対して http ステータス コードを設定できます。

respond_with(@your_object.errors.messages, :status => :unprocessable_entity)

明確にするために、無効な新しいインスタンスを作成して保存してみてください。errors次に、メソッドをこのインスタンスにキャストします。

于 2012-09-06T22:06:05.380 に答える