它已被多次詢問,但我仍然對respond_to
的效用感到困惑,所以我希望能在上下文中對其進行解釋。爲什麼在這個例子中使用respond_to?
在這種Railscast有關創建RESTful API中,瑞恩·貝茨把一個respond_to :json
指令在他的控制器頂部:
class ProductsController < ApplicationController
respond_to :json
def index
respond_with Product.all
end
然而,他已經把他的路線在指定JSON作爲默認格式塊:
namespace :api, defaults: {format: 'json'} do
scope module: :v1, constraints: ApiConstraints.new(version: 1) do
resources :products
end
此外,我試着在我的控制器中放置相同的指令,但仍能夠提供.html響應。
因此,如果respond_to
未設置默認響應格式,並且不阻止其他響應格式,它的用途是什麼?
@ LoganSerman- 「respond_to:json只是說如果請求JSON,respond_with應該用JSON響應。」但是,無論如何,它會以JSON響應,即使我刪除該指令。所以我仍然不明白這一點? – Yarin