問題一覧に戻る
中級コントローラー応用
問題33: APIレスポンス - render json

Railsでrender jsonを使ってJSON APIを構築する方法を学習します。これはRESTful API、AJAXエンドポイント、モバイルアプリのバックエンド作成に不可欠です。RailsはActiveRecordオブジェクトをJSONに変換する組み込みシリアライゼーションを提供し、従来のHTMLビューと並行してAPIエンドポイントを簡単に作成できます。

class UsersController < ApplicationController
# ユーザーをJSONとして返す
def show
@user = User.find(params[:id])
render : @user
end

# 作成された投稿を201ステータスで返す
def create
@post = Post.create!(post_params)
render json: @post, : :
end

def index
@posts = Post.all
# idとtitleフィールドのみ返す
render json: @posts, : [:id, :title]
end
end