Quickstarters
Feature Overview
¿Cómo construir un backend para Ruby on Rails?
35 min
introducción en este tutorial, aprenderás cómo construir un backend para ruby on rails utilizando back4app exploraremos los pasos clave para integrar tu aplicación rails con las características esenciales de back4app—como interacciones con la base de datos, funciones de cloud code, apis rest y graphql, autenticación de usuarios y consultas en tiempo real (consultas en vivo)—todo funcionando en el lado del servidor al aprovechar el lenguaje de programación ruby, construirás una arquitectura robusta y escalable que se alinea con el patrón de controlador de vista mvc en rails, permitiendo a los desarrolladores acelerar el desarrollo de aplicaciones web también descubrirás cómo back4app reduce drásticamente el tiempo y el esfuerzo al simplificar la gestión del servidor y la base de datos estas características automatizadas pueden ahorrarte de configurar manualmente un servidor web o lidiar con infraestructuras complejas al final, poseerás una estructura flexible y segura, lista para producción o futuras expansiones—como integraciones adicionales y lógica personalizada avanzada ya sea que desees servir páginas web o potenciar aplicaciones web impulsadas por datos, rails y back4app ofrecen una sinergia perfecta para crear soluciones modernas en lenguajes de programación populares requisitos previos para completar este tutorial, necesitarás una cuenta de back4app y un nuevo proyecto de back4app comenzando con back4app https //www back4app com/docs/get started/new parse app si no tienes una cuenta, puedes crear una gratis sigue la guía anterior para preparar tu proyecto un entorno de desarrollo de ruby on rails asegúrate de tener ruby instalado (preferiblemente la versión 2 7 o superior) y la gema rails (rails 6 o superior) instalar rails https //guides rubyonrails org/getting started html cliente ruby de parse si planeas usar el sdk de parse directamente, puedes instalar la parse ruby client https //github com/parse community/parse sdk ruby gema para manejar operaciones de datos con back4app familiaridad con rails mvc si eres nuevo en ruby on rails, revisa las guías oficiales de rails https //guides rubyonrails org/ o un tutorial para principiantes para entender la arquitectura mvc del controlador de vista de rails antes de comenzar asegúrate de que estos requisitos previos estén en su lugar antes de comenzar tener tu proyecto de back4app configurado, además de tu aplicación rails lista, garantiza una experiencia de tutorial fluida paso 1 – crear un nuevo proyecto en back4app y conectar crear un nuevo proyecto el primer paso para configurar un backend del lado del servidor para tu aplicación rails es crear un nuevo proyecto en back4app si no lo has hecho inicie sesión en su cuenta de back4app haga clic en el botón “nueva aplicación” en su panel de back4app dé un nombre a su aplicación (por ejemplo, “rails backend tutorial”) una vez que se crea el proyecto, será visible en su panel de back4app este nuevo proyecto forma el núcleo de todas las configuraciones de backend en este tutorial conectar el sdk de parse (opcional parse ruby client) para optimizar interacciones con la base de datos y consultas en tiempo real, back4app utiliza la plataforma parse si desea integrar su servidor rails con parse directamente, puede instalar la gema parse ruby client de lo contrario, puede confiar en los puntos finales rest o graphql estándar recupere sus claves de parse en su panel de back4app, vaya a “configuraciones de la aplicación” o “seguridad y claves” de su aplicación para encontrar su id de aplicación y clave api rest también obtendrá su url del servidor parse (por ejemplo, https //parseapi back4app com ) agrega la gema parse ruby client a tu gemfile gem 'parse ruby client' luego ejecuta bundle install inicializa parse en un 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' en este punto, tu aplicación rails es capaz de comunicarse con back4app para almacenar y recuperar datos, orquestar lógica personalizada y más este enfoque integrado simplifica cómo tu aplicación ruby on rails maneja el backend paso 2 – configuración de la base de datos creando un modelo de datos en muchas aplicaciones web , defines tu estructura de datos en rails utilizando migraciones de activerecord con back4app, también tienes la opción de construir tu esquema directamente en el panel de control por ejemplo, si tienes un todo modelo navega a “base de datos” en tu panel de control de back4app crea una nueva clase llamada “todo” y agrega columnas como título (string) y iscompleted (boolean) back4app soporta string , número , booleano , fecha , archivo , puntero , relación , array , geopoint , y polígono rails típicamente gestiona estos dentro de sus definiciones de modelo, pero también puedes permitir que parse cree columnas automáticamente en el primer guardado (si usas el sdk de parse o las apis rest/graphql) creando un modelo de datos utilizando el agente de ia el agente de ia de back4app puede automatizar la creación de esquemas abre el agente de ia desde tu panel de control describe tu modelo de datos (por ejemplo, “por favor, crea una nueva aplicación todo con un esquema de clase completo ”) deja que el agente genere tu esquema leyendo y escribiendo datos usando sdk si eliges integrar el parse ruby client , puedes almacenar un registro como este \# 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 lectura y escritura de datos utilizando rest api alternativamente, puedes usar llamadas rest desde tu código de rails (o cualquier cliente externo) por ejemplo, para crear 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 lectura y escritura de datos utilizando graphql api back4app también ofrece graphql mutation { createtodo(input { fields { title "plan web pages" iscompleted false } }) { todo { objectid title iscompleted } } } trabajando con consultas en vivo (opcional) si deseas actualizaciones en tiempo real en tu aplicación rails , puedes suscribirte a consultas en vivo desde un cliente de front end o websocket habilita las consultas en vivo en la configuración del servidor , luego conéctate a wss\ //your subdomain b4a io para un flujo continuo de cambios esto es útil para aplicaciones web dinámicas que necesitan actualizaciones de datos inmediatas paso 3 – aplicando seguridad con acls y clps resumen breve la seguridad es vital en el desarrollo de aplicaciones web back4app ofrece listas de control de acceso (acls) y permisos a nivel de clase (clps) para controlar la visibilidad de los datos tanto a nivel de objeto como de clase esto ayuda a garantizar que solo los usuarios autenticados o autorizados puedan leer/escribir datos sensibles configurando permisos a nivel de clase ve a la base de datos en tu panel de control de back4app selecciona una clase (por ejemplo, “todo”) abre la pestaña de clps para configurar el acceso de lectura/escritura por roles, usuarios autenticados o el público configurando acls puedes establecer un acl en un objeto para que solo un usuario específico pueda leerlo o modificarlo en rails con parse ruby client , podría verse así 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 paso 4 – escribiendo funciones de cloud code por qué cloud code cloud code ejecuta javascript del lado del servidor, permitiendo a los desarrolladores agregar lógica personalizada, disparadores y validaciones sin gestionar su propio servidor web puede que desees manejar lógica adicional del servidor o realizar verificaciones antes de guardar datos función de ejemplo a continuación se muestra un ejemplo en javascript mientras tu servidor rails maneja la aplicación principal, aún puedes usar cloud code para procesar datos parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); despliegue despliega a través de la cli de back4app o desde el tablero de back4app cloud code es una forma conveniente de encapsular lógica que se comparte entre todos los clientes, independientemente de qué lenguajes de programación utilicen con soporte para módulos basados en node (npm), puedes integrar paquetes externos sin problemas paso 5 – configurando la autenticación habilitar la autenticación de usuarios back4app gestiona el registro de usuarios, inicios de sesión y sesiones con la clase de usuario integrada de parse puedes crear un usuario con una llamada rest o a través de cualquier 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 inicio de sesión social puedes integrar flujos de inicio de sesión de facebook, google o apple cada proveedor tiene un enfoque ligeramente diferente, pero el principio principal es intercambiar tokens con parse consulta la documentación de inicio de sesión social https //www back4app com/docs/platform/sign in with apple para obtener detalles sobre cómo integrarlos en tu aplicación rails paso 6 – manejo del almacenamiento de archivos configurando el almacenamiento de archivos usar parse para archivos es tan simple como subirlos a través de la api de parse si estás utilizando el cliente parse ruby 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 ejemplo luego puedes adjuntar este archivo a un objeto photo obj = parse object new('photo') photo obj\['imagefile'] = parse file photo obj save paso 7 – verificación de correo electrónico y restablecimiento de contraseña habilitar la verificación de correo electrónico en tu panel de back4app bajo configuración de correo electrónico configurar el restablecimiento de contraseña personalizando la plantilla de correo electrónico y la configuración de dominio activar flujos de correo electrónico automáticamente después del registro del usuario o cuando un usuario solicita un restablecimiento de contraseña esto asegura una mejor seguridad y ayuda a confirmar la propiedad válida del correo electrónico paso 8 – programación de tareas con trabajos en la nube trabajos en la nube si deseas automatizar tareas como limpiar datos o enviar resúmenes diarios, utiliza trabajos en la nube 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); } }); puedes programar tales trabajos en el panel de control de back4app bajo configuración del servidor > trabajos en segundo plano para que se ejecuten diariamente o en los intervalos deseados paso 9 – integrando webhooks los webhooks permiten que tu aplicación de back4app envíe datos a una url externa cada vez que ocurren ciertos eventos puedes reenviar datos de objetos nuevos o actualizados a otro sistema, como stripe o slack ve a más > webhooks en tu panel de back4app agrega un nuevo webhook apuntando a tu url externa (por ejemplo, una ruta en tu controlador de rails) especifica el evento que activa el webhook si lo prefieres, también puedes activar un webhook desde cloud code haciendo una solicitud http en una función beforesave o aftersave paso 10 – explorando el panel de administración de back4app la aplicación de administración de back4app ofrece una forma fácil de usar para que equipos o clientes no técnicos realicen operaciones crud en tus datos de back4app esta interfaz elimina la necesidad de cambios directos en el código o el uso del panel de control de parse para tareas básicas dónde encontrarlo puedes activar la aplicación de administración desde tu panel de control yendo a más > aplicación de administración y haciendo clic en activar aplicación de administración características una vez habilitado, puedes crear y gestionar datos sin escribir consultas monitorear registros, programar trabajos en segundo plano y manejar notificaciones push (si están habilitadas) proporcionar acceso basado en roles a los miembros del equipo para una edición más segura conclusión ¡felicidades! has aprendido cómo construir un backend para ruby on rails usando back4app en este tutorial, has configurado un proyecto de rails para interactuar con back4app a través de rest, graphql o el cliente ruby de parse configuradas interacciones seguras con la base de datos utilizando esquemas de clase, acls, clps y consultas en vivo opcionales integrada la autenticación de usuarios con verificación de correo electrónico y restablecimiento de contraseñas desplegado cloud code para lógica personalizada, disparadores y tareas programadas gestionadas cargas de archivos , aprovechadas las webhooks y explorado el panel de administración al combinar la arquitectura mvc de ruby on rails con el robusto conjunto de características de back4app, tu aplicación de rails puede escalar sin problemas ahorrarás un tiempo considerable en la gestión de la infraestructura, permitiéndote concentrarte en construir aplicaciones web con experiencias de usuario refinadas y lógica del lado del servidor confiable próximos pasos extiende tu aplicación de rails añadiendo relaciones más complejas, estrategias de caché o integraciones avanzadas incorpora apis de terceros (como pasarelas de pago) y aprovecha cloud code para un desarrollo más profundo de aplicaciones web explora la documentación oficial de back4app para seguridad avanzada, ajuste de rendimiento, análisis de registros y más experimenta con características en tiempo real para crear aplicaciones de chat o plataformas colaborativas—ideal para datos que cambian con frecuencia con estos fundamentos en su lugar, puedes desarrollar, iterar y escalar rápidamente tu servidor rails para aplicaciones web modernas ¡feliz codificación!