Quickstarters
Feature Overview
Come creare un backend per Ruby On Rails?
34 min
introduzione in questo tutorial, imparerai come costruire un backend per ruby on rails utilizzando back4app esploreremo i passaggi chiave per integrare la tua applicazione rails con le funzionalità essenziali di back4app—come interazioni con il database, funzioni cloud code, api rest e graphql, autenticazione degli utenti e query in tempo reale (live queries)—tutto in esecuzione sul lato server sfruttando il linguaggio di programmazione ruby, costruirai un'architettura robusta e scalabile che si allinea con il pattern mvc (model view controller) in rails, consentendo agli sviluppatori di accelerare lo sviluppo delle applicazioni web scoprirai anche come back4app riduce drasticamente tempo e sforzo semplificando la gestione del server e del database queste funzionalità automatizzate possono salvarti dalla necessità di configurare manualmente un server web o di affrontare infrastrutture complesse alla fine, avrai una struttura flessibile e sicura, pronta per la produzione o ulteriori espansioni—come integrazioni aggiuntive e logica personalizzata avanzata che tu voglia servire pagine web o alimentare applicazioni web basate sui dati, rails e back4app offrono una sinergia senza soluzione di continuità per creare soluzioni moderne in linguaggi di programmazione popolari requisiti per completare questo tutorial, avrai bisogno di un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app se non hai un account, puoi crearne uno gratuitamente segui la guida sopra per preparare il tuo progetto un ambiente di sviluppo ruby on rails assicurati di avere ruby installato (preferibilmente versione 2 7 o superiore) e il gem rails (rails 6 o superiore) installa rails https //guides rubyonrails org/getting started html parse ruby client se intendi utilizzare direttamente il parse sdk, puoi installare il parse ruby client https //github com/parse community/parse sdk ruby gem per gestire le operazioni sui dati con back4app familiarità con rails mvc se sei nuovo a ruby on rails, rivedi le guide ufficiali di rails https //guides rubyonrails org/ o un tutorial per principianti per comprendere l' architettura del controller di visualizzazione mvc di rails prima di iniziare assicurati che questi requisiti siano soddisfatti prima di iniziare avere il tuo progetto back4app configurato, oltre al tuo applicazione rails pronto, garantisce un'esperienza di tutorial fluida passo 1 – creare un nuovo progetto su back4app e connettersi crea un nuovo progetto il primo passo per impostare un backend lato server per la tua applicazione rails è creare un nuovo progetto su back4app se non lo hai già fatto accedi al tuo account back4app clicca sul pulsante “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “rails backend tutorial”) una volta creato il progetto, sarà visibile nel tuo dashboard di back4app questo nuovo progetto forma il nucleo di tutte le configurazioni backend in questo tutorial collegare il parse sdk (opzionale parse ruby client) per semplificare le interazioni con il database e le query in tempo reale, back4app utilizza la piattaforma parse se desideri integrare il tuo server rails direttamente con parse, puoi installare la gemma parse ruby client in caso contrario, puoi fare affidamento su endpoint rest o graphql standard recupera le tue chiavi parse nel tuo dashboard di back4app, vai alle “impostazioni app” o “sicurezza e chiavi” della tua app per trovare il tuo id applicazione e chiave api rest otterrai anche il tuo url del server parse (ad esempio, https //parseapi back4app com ) aggiungi la gemma parse ruby client al tuo gemfile gem 'parse ruby client' poi esegui bundle install inizializza parse in un inizializzatore, come config/initializers/parse rb \# config/initializers/parse rb require 'parse' parse init application id 'your application id', api key 'your rest api key', server url 'https //parseapi back4app com' a questo punto, la tua applicazione rails è in grado di comunicare con back4app per memorizzare e recuperare dati, orchestrare logica personalizzata e altro questo approccio integrato semplifica il modo in cui la tua app ruby on rails gestisce il backend passo 2 – configurazione del database creazione di un modello di dati in molte applicazioni web , definisci la tua struttura dati in rails utilizzando le migrazioni di activerecord con back4app, hai anche l'opzione di costruire il tuo schema direttamente sulla dashboard ad esempio, se hai un todo modello naviga su “database” nella tua dashboard di back4app crea una nuova classe chiamata “todo” e aggiungi colonne come title (string) e iscompleted (boolean) back4app supporta string , number , boolean , date , file , pointer , relation , array , geopoint , e polygon rails gestisce tipicamente questi all'interno delle sue definizioni di modello, ma puoi anche lasciare che parse crei colonne automaticamente al primo salvataggio (se utilizzi il parse sdk o le api rest/graphql) creare un modello di dati utilizzando l'agente ai l'agente ai di back4app può automatizzare la creazione dello schema apri l'agente ai dalla tua dashboard descrivi il tuo modello di dati (ad es , “per favore crea una nuova app todo con uno schema di classe completo ”) lascia che l'agente generi il tuo schema lettura e scrittura di dati utilizzando sdk se scegli di integrare il parse ruby client , puoi memorizzare un record in questo modo \# app/controllers/todos controller rb def create todo class = parse object new('todo') todo class\['title'] = params\[ title] todo class\['iscompleted'] = false begin todo class save render json { message 'todo saved successfully' } rescue => e render json { error e message }, status 500 end end def index query = parse query new('todo') results = query get render json results end lettura e scrittura dei dati utilizzando l'api rest in alternativa, puoi utilizzare chiamate rest all'interno del tuo codice rails (o di qualsiasi client esterno) ad esempio, per creare un todo curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "finish rails guide", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo lettura e scrittura dei dati utilizzando l'api graphql back4app offre anche graphql mutation { createtodo(input { fields { title "plan web pages" iscompleted false } }) { todo { objectid title iscompleted } } } lavorare con le query live (opzionale) se desideri aggiornamenti in tempo reale nella tua applicazione rails , puoi iscriverti alle query live da un client front end o websocket abilita le query live nelle impostazioni del server , quindi connettiti a wss\ //your subdomain b4a io per un flusso continuo di modifiche questo è utile per applicazioni web dinamiche che necessitano di aggiornamenti immediati dei dati passo 3 – applicare la sicurezza con acl e clp panoramica breve la sicurezza è fondamentale nello sviluppo di applicazioni web back4app offre liste di controllo degli accessi (acl) e permessi a livello di classe (clp) per controllare la visibilità dei dati sia a livello di oggetto che di classe questo aiuta a garantire che solo gli utenti autenticati o autorizzati possano leggere/scrivere dati sensibili impostare i permessi a livello di classe vai al database nel tuo dashboard di back4app seleziona una classe (ad esempio, “todo”) apri la scheda clp per configurare l'accesso in lettura/scrittura per ruoli, utenti autenticati o il pubblico configurazione delle acl puoi impostare un'acl su un oggetto in modo che solo un utente specifico possa leggerlo o modificarlo in rails con parse ruby client , potrebbe apparire così todo = parse object new('todo') acl = parse acl new \# set read/write for a user acl set read access for(user id, true) acl set write access for(user id, true) todo acl = acl todo save passo 4 – scrivere funzioni di cloud code perché cloud code il cloud code esegue javascript lato server, consentendo agli sviluppatori di aggiungere logica personalizzata, trigger e validazioni senza gestire il proprio server web potresti voler gestire logica server aggiuntiva o effettuare controlli prima di salvare i dati funzione di esempio di seguito è riportato un esempio in javascript mentre il tuo server rails gestisce l'app principale, puoi comunque utilizzare il cloud code per elaborare i dati parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); distribuzione distribuisci tramite il back4app cli o dal back4app dashboard il cloud code è un modo conveniente per racchiudere la logica condivisa tra tutti i client, indipendentemente da quali linguaggi di programmazione utilizzano con il supporto per i moduli basati su node (npm), puoi integrare pacchetti esterni senza problemi passo 5 – configurazione dell'autenticazione abilita l'autenticazione utente back4app gestisce le registrazioni degli utenti, i login e le sessioni con la classe user integrata di parse puoi creare un utente con una chiamata rest o tramite qualsiasi sdk ufficiale curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "john", "password" "secretpass"}' \\ https //parseapi back4app com/users accesso sociale puoi integrare i flussi di accesso di facebook, google o apple ogni fornitore ha un approccio leggermente diverso, ma il principio principale è scambiare token con parse controlla la documentazione accesso sociale https //www back4app com/docs/platform/sign in with apple per dettagli su come integrarli nella tua applicazione rails passo 6 – gestione dello storage dei file impostazione dello storage dei file utilizzare parse per i file è semplice come caricarli tramite l'api di parse se stai utilizzando il parse ruby client file data = file open('path/to/image jpg') parse file = parse file new('image jpg', file data) begin parse file save puts "file uploaded #{parse file url}" rescue => e puts "error uploading file #{e message}" end esempio puoi quindi allegare questo file a un oggetto photo obj = parse object new('photo') photo obj\['imagefile'] = parse file photo obj save passo 7 – verifica email e reimpostazione password abilita la verifica email nel tuo dashboard di back4app sotto impostazioni email imposta la reimpostazione della password personalizzando il modello di email e le impostazioni del dominio attiva i flussi email automaticamente dopo la registrazione dell'utente o quando un utente richiede una reimpostazione della password questo garantisce una maggiore sicurezza e aiuta a confermare la validità della proprietà dell'email passo 8 – pianificazione dei compiti con cloud jobs lavori cloud se vuoi automatizzare compiti come la pulizia dei dati o l'invio di riepiloghi giornalieri, usa i lavori cloud parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); puoi pianificare tali lavori nel dashboard di back4app sotto impostazioni del server > lavori in background per eseguirli quotidianamente o a intervalli desiderati passo 9 – integrazione dei webhook i webhook consentono alla tua app back4app di inviare dati a un url esterno ogni volta che si verificano determinati eventi puoi inoltrare dati di oggetti nuovi o aggiornati a un altro sistema—come stripe o slack vai su altro > webhooks nel tuo dashboard di back4app aggiungi un nuovo webhook che punta al tuo url esterno (ad esempio, una rotta nel tuo controller rails) specifica l'evento che attiva il webhook se preferisci, puoi anche attivare un webhook dal cloud code effettuando una richiesta http in una funzione beforesave o aftersave passo 10 – esplorare il pannello di amministrazione di back4app l' app di amministrazione di back4app offre un modo intuitivo per i team o i clienti non tecnici di eseguire operazioni crud sui tuoi dati di back4app questa interfaccia elimina la necessità di modifiche dirette al codice o dell'uso del parse dashboard per compiti di base dove trovarlo puoi abilitare l'app di amministrazione dal tuo dashboard andando su altro > app di amministrazione e cliccando su abilita app di amministrazione caratteristiche una volta abilitato, puoi creare e gestire dati senza scrivere query monitorare i log, pianificare lavori in background e gestire le notifiche push (se abilitate) fornire accesso basato sui ruoli ai membri del team per una modifica più sicura conclusione congratulazioni! hai imparato come costruire un backend per ruby on rails utilizzando back4app in questo tutorial, hai configurato un progetto rails per interagire con back4app tramite rest, graphql o il parse ruby client impostato interazioni sicure con il database utilizzando schemi di classe, acl, clp e query live opzionali integrata l'autenticazione degli utenti con verifica dell'email e reset della password distribuito cloud code per logica personalizzata, trigger e attività pianificate gestito caricamenti di file , sfruttato webhook ed esplorato il pannello di amministrazione combinando l'architettura mvc di ruby on rails con il robusto set di funzionalità di back4app, la tua applicazione rails può scalare senza problemi risparmierai tempo considerevole nella gestione dell'infrastruttura, permettendoti di concentrarti sulla creazione di applicazioni web con esperienze utente raffinate e logica server side affidabile prossimi passi estendi la tua app rails aggiungendo relazioni più complesse, strategie di caching o integrazioni avanzate incorpora api di terze parti (come i gateway di pagamento) e sfrutta il cloud code per uno sviluppo più profondo delle applicazioni web esplora la documentazione ufficiale di back4app per sicurezza avanzata, ottimizzazione delle prestazioni, analisi dei log e altro sperimenta con funzionalità in tempo reale per creare app di chat o piattaforme collaborative—ideali per dati che cambiano frequentemente con questi fondamenti in atto, puoi sviluppare, iterare e scalare rapidamente il tuo server rails per applicazioni web moderne buon coding!