5

私のコントローラーでは、次のようにして、indexメソッドで HTML と JSON をサポートしています。

respond_to do |format|
  format.html
  format.json { render json: @user }
end

ブラウザでプルアップすると、自然に HTML でレンダリングされます。application/jsonただし、コンテンツ タイプがリソースに対してある状態で curl 呼び出しを行うと/user(インデックス メソッドであるため)、応答として HTML が返されます。

JSON を応答として取得するにはどうすればよいですか? 他に何を指定する必要がありますか?

4

1 に答える 1

8

.jsonのパスで形式が定義されている場合は、要求された URL に追加する必要がありますroutes.rb。使用時のデフォルトですresources。たとえば、rake routes次のようになります。

show_user GET    /users/:id(.:format) users#show

HTMLでユーザーを取得するには

curl  http://localhost:3000/users/1  

JSON でユーザーを取得するには:

curl http://localhost:3000/users/1.json    
于 2013-06-11T06:57:49.283 に答える