输出 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" }
。