Пошаговое руководство: настройка API Ruby on Rails с помощью React JS

Вы хотите создать мощное веб-приложение, используя Ruby on Rails в качестве серверной части и React JS в качестве внешнего интерфейса? Это руководство проведет вас через процесс настройки API Ruby on Rails с помощью React JS, что позволит вам использовать сильные стороны обеих платформ. Давайте погрузимся!

Предварительные условия

Прежде чем мы начнем, убедитесь, что на вашем компьютере установлены следующие необходимые компоненты:

  • Ruby (версия 2.6.0 или выше)
  • Rails (версия 6.0.0 или выше)
  • Node.js (версия 12.0.0 или выше)
  • Пряжа (последняя версия)

Шаг 1. Создайте новый Ruby on Rails API

Первым шагом является создание нового проекта API Ruby on Rails. Откройте терминал и выполните следующую команду:

rails new my-api --api

Шаг 2. Настройте базу данных

Далее перейдите в папку проекта:

cd my-api

Настройте свою базу данных, изменив файл config/database.ymlв соответствии с вашими потребностями. Затем выполните следующие команды, чтобы создать базу данных и выполнить миграцию:

rails db:create
rails db:migrate

Шаг 3. Создайте конечную точку API

rails generate scaffold Todo title:string completed:boolean
rails db:migrate

Шаг 4. Настройте CORS

Чтобы разрешить запросы между источниками из вашего интерфейса React JS, нам необходимо настроить совместное использование ресурсов между источниками (CORS). Добавьте драгоценный камень rack-corsв свой Gemfile:

gem 'rack-cors', :require => 'rack/cors'

Затем запустите bundle install, чтобы установить драгоценный камень. Измените файл config/initializers/cors.rbследующим образом:

Rails.application.config.middleware.insert_before 0, Rack::Cors do
  allow do
    origins '*'
    resource '*', headers: :any, methods: [:get, :post, :put, :patch, :delete, :options, :head]
  end
end

Шаг 5. Создайте интерфейс React JS

В новом окне терминала перейдите в корневой каталог вашего проекта и выполните следующую команду, чтобы создать новое приложение React JS:

npx create-react-app my-app

После создания приложения перейдите в каталог my-app:

cd my-app

Шаг 6. Подключите интерфейс к API

Чтобы подключить интерфейс к API, нам нужно отправить HTTP-запросы к конечным точкам API. Откройте файл src/App.jsи замените его содержимое следующим кодом:

import React, { useEffect, useState } from 'react';
function App() {
  const [todos, setTodos] = useState([]);
  useEffect(() => {
    fetch('http://localhost:3000/todos')
      .then(response => response.json())
      .then(data => setTodos(data));
  }, []);
  return (
    <div>
      <h1>Todos</h1>
      <ul>
        {todos.map(todo => (
          <li key={todo.id}>{todo.title}</li>
        ))}
      </ul>
    </div>
  );
}
export default App;

Шаг 7. Запустите серверы разработки

В отдельных окнах терминала перейдите в каталоги my-apiи my-appи запустите их серверы разработки:

# Inside the my-api directory
rails server
# Inside the my-app directory
yarn start

Вот и все! Вы успешно настроили API Ruby on Rails с интерфейсом React JS. Теперь вы можете приступить к созданию своего приложения, добавив больше конечных точек API и компонентов React.

Не забывайте постоянно обращаться к официальной документации Ruby on Rails и React JS для получения более подробной информации и расширенного использования.

Удачного программирования!