Quickstarters
Feature Overview
How to Build a Backend for Ruby On Rails?
35 min
introdução neste tutorial, você aprenderá como construir um backend para ruby on rails usando back4app vamos explorar os passos principais para integrar sua aplicação rails com recursos essenciais do back4app—como interações com o banco de dados, funções de código em nuvem, apis rest e graphql, autenticação de usuários e consultas em tempo real (consultas ao vivo)—tudo rodando no lado do servidor ao aproveitar a linguagem de programação ruby, você construirá uma arquitetura robusta e escalável que se alinha ao padrão de controlador de visualização mvc no rails, permitindo que os desenvolvedores acelerem o desenvolvimento de aplicações web você também descobrirá como o back4app reduz drasticamente o tempo e o esforço ao simplificar a gestão de servidores e bancos de dados esses recursos automatizados podem poupá lo de configurar manualmente um servidor web ou lidar com infraestruturas complexas ao final, você terá uma estrutura flexível e segura, pronta para produção ou futuras expansões—como integrações adicionais e lógica personalizada avançada se você deseja servir páginas da web ou alimentar aplicativos da web baseados em dados, rails e back4app oferecem uma sinergia perfeita para criar soluções modernas em linguagens de programação populares pré requisitos para completar este tutorial, você precisará uma conta back4app e um novo projeto back4app começando com back4app https //www back4app com/docs/get started/new parse app se você não tiver uma conta, pode criar uma gratuitamente siga o guia acima para preparar seu projeto um ambiente de desenvolvimento ruby on rails certifique se de ter o ruby instalado (preferencialmente a versão 2 7 ou superior) e a gem rails (rails 6 ou superior) instalar rails https //guides rubyonrails org/getting started html parse ruby client se você pretende usar o sdk parse diretamente, pode instalar a parse ruby client https //github com/parse community/parse sdk ruby gem para lidar com operações de dados com o back4app familiaridade com rails mvc se você é novo no ruby on rails, revise os guias oficiais do rails https //guides rubyonrails org/ ou um tutorial para iniciantes para entender a arquitetura mvc do controlador de visualização do rails antes de começar certifique se de que esses pré requisitos estejam em vigor antes de começar ter seu projeto back4app configurado, além do seu aplicativo rails pronto, garante uma experiência de tutorial tranquila passo 1 – criando um novo projeto no back4app e conectando criar um novo projeto o primeiro passo para configurar um backend do lado do servidor para seu aplicativo rails é criar um novo projeto no back4app se você ainda não fez isso faça login na sua conta back4app clique no botão “novo app” no seu painel do back4app dê um nome ao seu app (por exemplo, “rails backend tutorial”) uma vez que o projeto é criado, ele será visível no seu painel do back4app este novo projeto forma o núcleo de todas as configurações de backend neste tutorial conecte o sdk parse (opcional parse ruby client) para simplificar interações com o banco de dados e consultas em tempo real, o back4app utiliza a plataforma parse se você quiser integrar seu servidor rails diretamente com o parse, você pode instalar a gem parse ruby client caso contrário, você pode contar com endpoints rest ou graphql padrão recupere suas chaves parse no seu painel do back4app, vá para as “configurações do app” ou “segurança & chaves” para encontrar seu id da aplicação e chave da api rest você também obterá sua url do servidor parse (por exemplo, https //parseapi back4app com ) adicione a gem parse ruby client ao seu gemfile gem 'parse ruby client' em seguida, execute bundle install inicialize o parse em um inicializador, como 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' neste ponto, sua aplicação rails é capaz de se comunicar com o back4app para armazenar e recuperar dados, orquestrando lógica personalizada e muito mais essa abordagem integrada simplifica como seu aplicativo ruby on rails lida com o backend passo 2 – configurando o banco de dados criando um modelo de dados em muitas aplicações web , você define sua estrutura de dados no rails usando migrações do activerecord com o back4app, você também tem a opção de construir seu esquema diretamente no painel por exemplo, se você tiver um todo modelo navegue até “banco de dados” no seu painel do back4app crie uma nova classe chamada “todo” e adicione colunas como título (string) e estácompleto (boolean) o back4app suporta string , número , booleano , data , arquivo , ponteiro , relação , array , geopoint , e polígono o rails normalmente gerencia isso dentro de suas definições de modelo, mas você também pode deixar o parse criar colunas automaticamente na primeira salvamento (se você usar o sdk do parse ou apis rest/graphql) criando um modelo de dados usando o agente de ia o agente de ia da back4app pode automatizar a criação de esquemas abra o agente de ia no seu painel descreva seu modelo de dados (por exemplo, “por favor, crie um novo aplicativo todo com um esquema de classe completo ”) deixe o agente gerar seu esquema lendo e escrevendo dados usando sdk se você optar por integrar o parse ruby client , você pode armazenar um registro assim \# 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 lendo e escrevendo dados usando rest api alternativamente, você pode usar chamadas rest de dentro do seu código rails (ou qualquer cliente externo) por exemplo, para criar um 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 lendo e escrevendo dados usando graphql api back4app também oferece graphql mutation { createtodo(input { fields { title "plan web pages" iscompleted false } }) { todo { objectid title iscompleted } } } trabalhando com consultas ao vivo (opcional) se você quiser atualizações em tempo real em sua aplicação rails , você pode se inscrever em consultas ao vivo de um cliente front end ou websocket ative consultas ao vivo nas configurações do servidor , então conecte se ao wss\ //your subdomain b4a io para um fluxo contínuo de mudanças isso é útil para aplicações web dinâmicas que precisam de atualizações imediatas de dados passo 3 – aplicando segurança com acls e clps visão geral breve a segurança é vital no desenvolvimento de aplicações web back4app oferece listas de controle de acesso (acls) e permissões em nível de classe (clps) para controlar a visibilidade dos dados tanto no nível do objeto quanto no nível da classe isso ajuda a garantir que apenas usuários autenticados ou autorizados possam ler/escrever dados sensíveis configurando permissões em nível de classe vá para o banco de dados no seu painel do back4app selecione uma classe (por exemplo, “todo”) abra a aba de clps para configurar o acesso de leitura/escrita por funções, usuários autenticados ou o público configurando acls você pode definir uma acl em um objeto para que apenas um usuário específico possa lê lo ou modificá lo no rails com parse ruby client , pode parecer assim 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 – escrevendo funções de cloud code por que cloud code o cloud code executa javascript do lado do servidor, permitindo que os desenvolvedores adicionem lógica personalizada, gatilhos e validações sem gerenciar seu próprio servidor web você pode querer lidar com lógica extra do servidor ou fazer verificações antes de salvar dados função de exemplo abaixo está um exemplo em javascript enquanto seu servidor rails lida com o aplicativo principal, você ainda pode usar o cloud code para processar dados parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); implantação implante através do back4app cli ou do painel do back4app o cloud code é uma maneira conveniente de encapsular lógica que é compartilhada entre todos os clientes, independentemente de quais linguagens de programação eles usam com suporte a módulos baseados em node (npm), você pode integrar pacotes externos de forma contínua passo 5 – configurando autenticação ativar autenticação de usuário o back4app gerencia inscrições de usuários, logins e sessões com a classe de usuário integrada do parse você pode criar um usuário com uma chamada rest ou através de qualquer sdk oficial 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 login social você pode integrar fluxos de login do facebook, google ou apple cada provedor tem uma abordagem ligeiramente diferente, mas o princípio principal é trocar tokens com o parse confira a documentação de login social https //www back4app com/docs/platform/sign in with apple para detalhes sobre como integrá los em sua aplicação rails passo 6 – gerenciando armazenamento de arquivos configurando armazenamento de arquivos usar o parse para arquivos é tão simples quanto enviá los através da api do parse se você estiver usando o 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 exemplo você pode então anexar este arquivo a um objeto photo obj = parse object new('photo') photo obj\['imagefile'] = parse file photo obj save passo 7 – verificação de email e redefinição de senha ative a verificação de email no seu painel do back4app em configurações de email configure a redefinição de senha personalizando o modelo de email e as configurações de domínio acione fluxos de email automaticamente após o registro do usuário ou quando um usuário solicitar uma redefinição de senha isso garante maior segurança e ajuda a confirmar a propriedade válida do email passo 8 – agendando tarefas com cloud jobs trabalhos em nuvem se você quiser automatizar tarefas como limpar dados ou enviar resumos diários, use trabalhos em nuvem 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); } }); você pode agendar esses trabalhos no painel do back4app em configurações do servidor > trabalhos em segundo plano para serem executados diariamente ou em intervalos desejados passo 9 – integrando webhooks webhooks permitem que seu aplicativo back4app envie dados para uma url externa sempre que certos eventos acontecerem você pode encaminhar dados de objetos novos ou atualizados para outro sistema—como stripe ou slack vá para mais > webhooks no seu painel do back4app adicione um novo webhook apontando para sua url externa (por exemplo, uma rota no seu controlador rails) especifique o evento que aciona o webhook se preferir, você também pode acionar um webhook a partir do cloud code fazendo uma solicitação http em uma função beforesave ou aftersave passo 10 – explorando o painel de administração do back4app o back4app admin app oferece uma maneira amigável para equipes ou clientes não técnicos realizarem operações crud em seus dados do back4app esta interface elimina a necessidade de alterações diretas no código ou uso do parse dashboard para tarefas básicas onde encontrá lo você pode ativar o admin app a partir do seu painel indo em mais > admin app e clicando em ativar admin app recursos uma vez ativado, você pode criar e gerenciar dados sem escrever consultas monitorar logs, agendar tarefas em segundo plano e gerenciar notificações push (se ativado) fornecer acesso baseado em funções para membros da equipe para edição mais segura conclusão parabéns! você aprendeu como construir um backend para ruby on rails usando back4app neste tutorial, você configurado um projeto rails para interagir com o back4app via rest, graphql ou o parse ruby client configurar interações seguras com o banco de dados usando esquemas de classe, acls, clps e consultas ao vivo opcionais integrar autenticação de usuário com verificação de e mail e redefinições de senha implantar cloud code para lógica personalizada, gatilhos e tarefas agendadas gerenciar uploads de arquivos , aproveitar webhooks e explorar o painel de administração ao combinar a arquitetura mvc do ruby on rails com o robusto conjunto de recursos do back4app, sua aplicação rails pode escalar sem problemas você economizará um tempo considerável na gestão da infraestrutura, permitindo que você se concentre na construção de aplicações web com experiências de usuário refinadas e lógica de servidor confiável próximos passos estender seu aplicativo rails adicionando relacionamentos mais complexos, estratégias de cache ou integrações avançadas incorporar apis de terceiros (como gateways de pagamento) e aproveitar o cloud code para um desenvolvimento mais profundo de aplicações web explorar a documentação oficial do back4app para segurança avançada, ajuste de desempenho, análise de logs e mais experimentar com recursos em tempo real para criar aplicativos de chat ou plataformas colaborativas—ideais para dados que mudam com frequência com esses fundamentos em prática, você pode desenvolver, iterar e escalar rapidamente seu servidor rails para aplicações web modernas boa codificação!