Rails 3.2 に、デフォルトで JSON をレンダリングするように指示し、HTML を次のように完全にキックします。
respond_to :json
def index
@clients = Client.all
respond_with @clients
end
この構文では.json
、URL に追加する必要があります。どうすれば達成できますか?
Rails 3.2 に、デフォルトで JSON をレンダリングするように指示し、HTML を次のように完全にキックします。
respond_to :json
def index
@clients = Client.all
respond_with @clients
end
この構文では.json
、URL に追加する必要があります。どうすれば達成できますか?
ファイルを変更してroutes.rb
、デフォルトの形式を指定できます
ルート.rb
resources :clients, defaults: {format: :json}
これにより、全体のデフォルトの応答形式が変更されますclients_controller
このパターンは、両方に同じコントローラー アクションを使用する場合に適しています。:html をデフォルトの形式として使用して、通常どおり Web バージョンを作成します。次に、API をパスの下に置き、:json をデフォルトとして設定します。
Rails.application.routes.draw do
resources :products
scope "/api", defaults: {format: :json} do
resources :products
end
end
index アクションで RESTful 応答が必要ない場合は、単純に xml 応答を直接レンダリングします。
def index
render json: Client.all
end