ヽ(´・肉・`)ノログ

How do we fighting without fighting?

あなたの知らない Rails3.2 の変更点

  1. respond_with を使っている
  2. json 形式で返す
  3. 返すモデルがエラーを持っている

時,Rails 3.2 未満でのレスポンスボディは

{"email":["を入力してください。"]}

となっていました.

Rails 3.2 以降では

{"errors":{"email":["を入力してください。"]}}

という形式になります.

ブラウザ以外から API だけで Rails を利用しているような場合は注意が必要ですね.スマートフォンでのバリデーションとか.

JSON responder should return errors with :error root という変更が 3.2 から入っているようですね.コメント欄にも「チェンジログに書いておいてよ」という声が載っています.