読者です 読者をやめる 読者になる 読者になる

【Rails】API作成でJSONを返却する

Rails Ruby

 

jsonを返却

app/controllers/items_controller.rb

def index
 @itmes = Item.all.order("id ASC")
 render json@itmes
end

 

jbuilderを返却
jbuilderは細か調整が可能(コントローラーの定義は不要)
app/views/items/index.json.jbuilder
json.array!(@itmes) do |item|
 json.extract! itme, :id, :name, :price, :size, :created_at, :updated_at
 json.url itme_url(itme, format: :json)
end

localhost:3000/itmes.jsonでアクセスできる

 

▼リクエストの種類に応じてレスポンスを変更

def index
 @products = Item.all
 respond_to do |format|
  format.html             #通常のURLの場合index.html.erbを返却
  format.json { render json: @products } #URLが.jsonの場合@products.to_jsonを返却
  format.json                                #URLが.jsonの場合index.json.jbuilderを返却
 end
end