CRUD với Rails và React (p1)

Tram Ho

Giới thiệu

Khi tìm hiểu một ngôn ngữ hay một framework mới, cá nhân mình thấy cách tiếp cận tốt nhất là làm một app có đủ chức năng CRUD. Vậy trong bài viết này, hãy cùng mình viết 1 ứng dụng Rails có sử dụng React làm front end có
các chức năng CRUD nhé.

Khởi tạo ứng dụng Rails

Bắt đầu với câu lệnh quen thuộc để tạo một ứng dụng rails:

Sau đó thêm gem gem 'react-rails' vào thư mục Gemfile và chạy lệnh bundle install
Tiếp theo chạy lệnh rails g react:install. Câu lệnh này sẽ

  • Thêm một vài thư viện Reactjs //= requires vào file application.js
  • Thêm thư mục components/ cho React components
    Các bạn có thể xem chi tiết hơn tại đây
    Tiếp theo hãy thêm một model có tên là Fruit. Ứng dụng này sẽ chỉ làm việc với một model này

Trong file db/seed.rb thêm vào nội dung sau:

Sau đó chạy lệnh rails db:migrate db:seed để khởi tạo database và tạo dữ liệu
Thế là xong phần chuẩn bị môi trường và dữ liệu.

Controller

Trước tiên, trong file app/controllers/application_controller.rb chúng ta thêm dòng sau:

để hiểu rõ hơn về hàm protect_from_forgery các bạn có thể xem thêm bài viết này

Ứng dụng của chúng ta dựa trên API do đó, cấu trúc thư mục controller cần tuân theo quy ước không gian tên như sau: app/controllers/api/v1.
Việc tạo phiên bản cho API có nghĩa là các thay đổi có thể được thực hiện trong tương lai mà không làm hỏng phiên bản gốc cụ thể ở đây là v1.
Chúng ta sẽ tạo 1 file trong thư mục app/controllers/api/v1 có tên là fruits_controller.rb. Trong file này chúng ta sẽ viết code để tạo các phương thức CRUD cơ bản.

class Api::V1::FruitsController < ApplicationController
def index
render json: Fruit.all
end

def create
fruit = Fruit.create fruit_params
render json: fruit
end

def destroy
Fruit.destroy params

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo