2016-04-25 7 views
1

status: :okrender json: {round: @round}, status: :okで何をしますか?レンダリングjson: `(Rails)の` status::ok`とは何か

は時々、すべてが

ActionController::UnknownFormat (ActionController::UnknownFormat): 

は、私は、フロントエンドとバックエンドのためのRailsのための角度使い、それなしで動作しますが、時にはその必要のようなエラーを防ぐために。

私の理解では、Railsコントローラのアクションの最後の行は、サーバーの応答をjson形式に変換し直すので、Angularはそれを読むことができます(これは正しい説明です)。

しかし、私は次のいずれかを使用する理由を理解していません。時には1つは動作し、もう1つは時々動作します。

  1. render json: {round: @round}, status: :ok1
  2. respond_to :jsonrespond_with @round

誰もがいくつかの洞察を共有することはできますか?

+0

ステータスok:要求の成功を示すjsonとのキー値のペアです。必須フィールドではありません –

答えて

2

render json: {round: @round}, status: :okstatus: :okがHTTPヘッダ(Rendering in Rails Guide)ではデフォルトで200 OKあるステータスコードを変更するrender方法を伝えます。したがって、:okの場合は違いはありません。

メソッドの呼び出しでは、をステータスコード200 OKのjson形式でレンダリングするようにrenderメソッドに指示します。

api dockは、異なるコンテンツタイプを区別するために使用されるrespond_toの使用方法について詳しく説明しており、renderは実際にあなたのレスポンスを表示しています。

3

status: :okは、それは応答が200 OK HTTPレスポンスコードで送信されることを意味しますrender json:

に何をします。

関連する問題