Forbes India Leader Recognition
e.preventDefault(); // Prevent form submission input.blur(); // remove focus input.value = ""; // optional: clear the input

Simplify Rails Application With JSONAPI-Resources

Simplify Rails Application With JSONAPI-Resources

Featured Image

Introduction

JSONAPI::Resources is a gem or a framework which helps us design the server  that works with json-api and resources. It requires attributes and relationships to work the servers and APIs.

Installation

To install the JS application-

  • gem ‘jsonapi-resources’
  • bundle

Why JSONAPI::Resources?

  • JSONAPI::Resources makes the rails application more easy to communicate the json formatted data and api.
  • With the help of jsonapi resources we don’t need to maintain the controller.
  • JR makes it easy to communicate between the request and required data from the given resource table.

Work with rails application and jsonapi resources:

  • Change the application controller: We can include the jsonapi resource controller in it to make the application controller work with jsonapi resource controller.
    Simplify Rails Application With JSONAPI-ResourcesOR
    We can just inherit the JSONAPI::ResourceController to ApplicationController.
    Simplify Rails Application With JSONAPI-ResourcesWe can also do this on a controller basis so specific controllers can work for the API.
  • Eager loading of the classes is needed to work this JSONAPI::Resources could be loaded and processed globally.
    Simplify Rails Application With JSONAPI-Resources
  • We might get CORS issues when accessing from the browser so we have to install the CORS gem for the application.
    Simplify Rails Application With JSONAPI-Resources
  • Use a rails generator to create a model for Users and that model is related to another model for Posts. It will look like this:
    • User model: rails g model User name:string
      Simplify Rails Application With JSONAPI-Resources
    • Post model: rails g model Post uset_id:integer title:string content:string
      Simplify Rails Application With JSONAPI-Resources
  • Run the migration with ‘rake db:migrate
  • After this tables will look like this:
    • users table
      Simplify Rails Application With JSONAPI-Resources
    • posts table
      Simplify Rails Application With JSONAPI-Resources
  • Use a rails generator to create the empty controllers and these controllers will be inherited from ResourceController.
    • rails g controller Users –skip-assets
    • rails g controller Posts –skip-assets
  • Create a directory to hold the resources: mkdir app/resources.
  • Create a resource for each model appending _resource.rb with the model name.
    • user_resource.rb
      Simplify Rails Application With JSONAPI-Resources
    • post_resource.rb
      Simplify Rails Application With JSONAPI-Resources
  • Define the routes:
    Simplify Rails Application With JSONAPI-Resources
  • Launch the rails server:  rails server.
  • Create a new user:
    Simplify Rails Application With JSONAPI-Resources
  • Create a new post:
    Simplify Rails Application With JSONAPI-Resources
  • For more information about JR visit: https://jsonapi-resources.com/

Related Posts

Latest Posts

  • All Posts
  • AI Powered Knowledge
  • ai/ml
  • CEO India Magazine
  • CMMI level 5 Certification
  • e-learning
  • Fintech
  • gaming
  • Generative AI
  • healthcare
  • manufacturing
  • News
  • OTT
  • Portfolio
  • supply chain
  • travel and hospitality
  • Tudip's AI Hackathon
  • Voxlearn Enterprises
    •   Back
    • Android
    • iOS
    • Java
    • PHP
    • MEAN
    • Ruby
    • DotNet
    • IoT
    • Cloud
    • Testing
    • Roku
    • CMS
    • Python
The Future of Workplace Learning: AI-Powered Knowledge on Demand

The Future of Workplace Learning: AI-Powered Knowledge on Demand

June 12, 2026

A few months ago, I was sitting in a meeting with a team lead who looked genuinely frustrated. Not because…

Read More
We Did It Again: Tudip Successfully Renews Its CMMI Level 5 Certification

We Did It Again: Tudip Successfully Renews Its CMMI Level 5 Certification

June 9, 2026

Nobody around here needed a memo to know something worth celebrating had happened. The message from the CMMI Institute said…

Read More
CEO India Magazine Features Dipti Agrawal: The Woman Behind Intelligent Enterprise Solutions

CEO India Magazine Features Dipti Agrawal: The Woman Behind Intelligent Enterprise Solutions

June 9, 2026

There are moments at work that just stop you in your tracks. Not the big quarterly reviews or the product…

Read More

India

Plot No. 11/2, Phase 3, Hinjewadi Rajiv Gandhi Infotech Park, Pune, India – 411057.
info@tudip.com
+91-96-8990-0537

United States

1999 S. Bascom Ave Suite 700, Campbell CA. 95008, USA.
info@tudip.com
+1-408-216-8162

Canada

64 Caracas Road North York, Toronto Ontario M2K 1B1, Canada.
info@tudip.com

Mexico

Calle Amado Nervo #785 Interior B Colonia Ladron De Guevara 44600 Guadalajara, Jalisco, Mexico.
info@tudip.com

Singapore

77 High Street, #10-12B High Street Plaza, Singapore 179433.
info@tudip.com

Colombia

Cra. 9 # 113-53 Of. 1405 Bogotá D.C., Colombia.
info@tudip.com

UAE

Tudip Information Technologies L.L.C Office No 109, ABU HAIL BUILDING 13, Abu Hail, Dubai, UAE.
info@tudip.com

Nigeria

22 Kumasi Crescent, Wuse 2, Abuja, Nigeria.
info@tudip.com