Ruby on Rails Getting started with Ruby on Rails Creating Rails APIs in JSON


This example assumes that you have experience in creating Rails applications.

To create an API-only app in Rails 5, run

rails new name-of-app --api

Add active_model_serializers in Gemfile

gem 'active_model_serializers'

install bundle in terminal

bundle install

Set the ActiveModelSerializer adapter to use :json_api

# config/initializers/active_model_serializer.rb
ActiveModelSerializers.config.adapter = :json_api
Mime::Type.register "application/json", :json, %w( text/x-json application/jsonrequest application/vnd.api+json )

Generate a new scaffold for your resource

rails generate scaffold Task name:string description:text

This will generate the following files:

Controller: app/controllers/tasks_controller.rb

Test:       test/models/task_test.rb
Routes:     resources :tasks added in routes.rb
Migration:  db/migrate/_create_tasks.rb
Model:      app/models/task.rb
Serializer: app/serializers/task_serializer.rb
Controller: app/controllers/tasks_controller.rb