Jak nastavit projekt Ruby on Rails v7 s frontendem React na Ubuntu 20.04

Photo of author

By etechblogcz

Úvodní informace

Ruby on Rails, často zkracovaný na RoR, představuje robustní a elegantní framework určený pro vývoj webových aplikací. Je proslulý svou efektivitou, uživatelskou přívětivostí a rychlým vývojem. Na straně frontendové části se stává stále populárnější knihovna Reactjs, která umožňuje vytváření interaktivních a dynamických uživatelských rozhraní. Spojením těchto dvou technologií získáme silný nástroj pro vývoj komplexních webových řešení.

Tento detailní návod vás provede procesem nastavení projektu, který kombinuje Ruby on Rails verze 7 a frontend postavený na Reactu na operačním systému Ubuntu 20.04. Předpokládá se, že máte v systému již nainstalované základní nástroje jako Git, Node.js a databázový systém PostgreSQL.

Instalace MySQL

1. Aktualizujte seznam dostupných balíčků:

sudo apt update

2. Nainstalujte MySQL server:

sudo apt install mysql-server

3. Spusťte MySQL server:

sudo systemctl start mysql

4. Zajistěte automatické spouštění MySQL serveru při startu systému:

sudo systemctl enable mysql

Instalace Ruby on Rails

1. Přidejte do systému repozitář s nejnovější verzí Ruby:

sudo add-apt-repository ppa:brightbox/ruby-ng
sudo apt update

2. Nainstalujte Ruby a samotný framework Rails:

sudo apt install ruby2.7 ruby2.7-dev build-essential libpq-dev nodejs
sudo gem install rails

Vytvoření nové aplikace Rails

1. Vytvořte nový adresář, který bude sloužit jako kontejner pro váš projekt:

mkdir rails-react-app
cd rails-react-app

2. Vygenerujte novou aplikaci Rails s podporou API a PostgreSQL databáze:

rails new my_app --api --database=postgresql

Spuštění aplikace Rails

1. Přejděte do adresáře s nově vytvořenou aplikací:

cd my_app

2. Vytvořte a aplikujte migrace databáze:

rails db:create
rails db:migrate

3. Spusťte Rails server:

rails s

Instalace React

1. Vytvořte adresář frontend, který bude obsahovat zdrojový kód pro frontend vaší aplikace:

mkdir frontend
cd frontend

2. Inicializujte nový projekt React:

npx create-react-app .

3. Upravte soubor package.json a přidejte skripty pro spouštění vývojového serveru React a build:


{
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build"
  }
}

Konfigurace Rails pro spolupráci s Reactem

1. Upravte soubor config/webpacker.yml a přidejte následující konfiguraci:

source_path: ../frontend
source_entry_path: index.jsx

2. Doplňte do souboru app/javascript/packs/application.js importy a inicializaci Reactu:

import React from 'react';
import ReactDOM from 'react-dom';
import App from '../frontend/src/App';

ReactDOM.render(<App />, document.getElementById('root'));

Propojení frontendu a backendu

1. Vygenerujte nový kontroler pro API v Rails:

rails generate api/v1/tasks

2. V souboru app/controllers/api/v1/tasks_controller.rb implementujte metody pro získání a vytvoření úkolů:

class Api::V1::TasksController < ApplicationController
  protect_from_forgery with: :null_session

  def index
    @tasks = Task.all
    render json: @tasks
  end

  def create
    @task = Task.new(task_params)

    if @task.save
      render json: @task, status: :created
    else
      render json: @task.errors, status: :unprocessable_entity
    end
  end

  private

  def task_params
    params.require(:task).permit(:title, :description)
  end
end

3. Definujte routy pro API v souboru routes.rb:

Rails.application.routes.draw do
  namespace :api do
    namespace :v1 do
      resources :tasks
    end
  end
end

Spuštění aplikace

1. V jednom terminálu spusťte server Rails:

rails s

2. V druhém terminálu přejděte do adresáře frontend a spusťte vývojový server React:

cd ../frontend
npm start

Závěr

Gratulujeme! Úspěšně jste nastavili a spustili projekt kombinující Ruby on Rails v7 s frontendem postaveným na Reactu na Ubuntu 20.04. Tato architektura vám umožňuje vytvářet moderní a dynamické webové aplikace. S využitím Reactu můžete jednoduše budovat interaktivní uživatelská rozhraní, zatímco Rails se stará o backendovou logiku a správu dat. Tato kombinace nabízí vývojářům možnost rychle navrhovat a implementovat komplexní webové aplikace, které splňují požadavky moderního uživatele.

Často kladené otázky (FAQ)

Jak mohu přidat další funkce do mé aplikace? Můžete přidávat další modely, kontrolery a views do aplikace Rails a odpovídající komponenty React do frontendu.
Jak mohu zabezpečit svou aplikaci? Implementujte bezpečnostní opatření na obou stranách (Rails i React), jako je autentizace, autorizace a šifrování dat.
Jak mohu optimalizovat výkon aplikace? Použijte techniky jako kešování, komprese, optimalizaci kódu a asynchronní zpracování.
Jak mohu nasadit aplikaci do produkčního prostředí? Pro nasazení můžete využít platformy jako Heroku, AWS Elastic Beanstalk nebo Docker.
Jak mohu přispívat do open source projektu Ruby on Rails? Připojte se ke komunitě Ruby on Rails na GitHubu a zapojte se do vývoje.
Kde mohu najít další informace k výuce Ruby on Rails a Reactu? Existuje mnoho online kurzů, tutoriálů, dokumentací a knih.
Jak rozšířit funkčnost pomocí knihoven třetích stran? Rails i React mají bohatý ekosystém knihoven, které můžete využít pro rozšíření funkcionality.
Jak sledovat výkon a chování mé aplikace? Využijte nástroje pro monitorování jako New Relic, Datadog, Prometheus nebo Grafana.