輸出 JSON 而不是 HTML
class UsersController < ApplicationController
def index
hashmap_or_array = [{ name: "foo", email: "foo@example.org" }]
respond_to do |format|
format.html { render html: "Hello World" }
format.json { render json: hashmap_or_array }
end
end
end
此外,你還需要以下路線:
resources :users, only: [:index]
這將以兩種不同的方式響應/users
的請求:
- 如果你訪問
/users
或/users.html
,它將顯示一個內容為Hello World
的 html 頁面 - 如果你訪問
/users.json
,它將顯示一個 JSON 物件,其中包含:
[
{
"name": "foo",
"email": "foo@example.org"
}
]
如果要確保路由僅響應 JSON 請求,則可以省略 format.html { render inline: "Hello World" }
。