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

Simplify Rails Application With JSONAPI-Resources

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
  • Generative AI
  • manufacturing
  • News
  • Portfolio
    •   Back
    • Android
    • iOS
    • Java
    • PHP
    • MEAN
    • Ruby
    • DotNet
    • IoT
    • Cloud
    • Testing
    • Roku
    • CMS
    • Python

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

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