Ejemplo de la utilización de Ruby on Rails 6 para crear un web, un api y un cms (en un mismo proyecto). La web muestra frases .y categorías (demo), el cms sirve para administrar frases, usuarios, permisos, categorías (demo) y por último el api (demo). Se utiliza MariaDB y Redis en la capa de bases de datos, como así también Bootstrap como framework CSS. Otra cosa importante a tener en cuenta es que se utiliza Rubocop para programar limpiamente y de una forma ordenada. Ruby on Rails 6 Para poder usar el Framework Ruby on Rails 6 se necesita tener… Continuar leyendo


Hace poco tiempo me tocó resolver el problema de una app en Ruby on Rails, la base de datos de dicha app creció considerablemente en muy poco tiempo. Estábamos usando una instancia db.t2.medium (AWS RDS) y dicha instancia ya se encontraba al límite (el 80% de todos los requests eran de lectura y solo en 20% de escritura), lo que significaba que la performance de la app era muy mala porque la app tiene mucha cantidad de visitas diarias. Para subsanar ese problema decidí crear una replica de la base de datos (db.t2.medium AWS RDS) y hacer todo lo relacionado a… Continuar leyendo


Después de crear tu primera aplicación Rails de prueba, ya deberías ser capaz de empezar a jugarcon ella para probar nuevas cosas por tu cuenta. En cualquier caso, no estás solo en este proceso de aprendizaje. Como seguramente tarde o temprano necesitarás ayuda, puedes echar mano a estos recursos: Las [Guías de Ruby on Rails en inglés](http://guides.rubyonrails.org/index.html). El Tutorial de Rails en inglés La [lista de correo en inglés](http://groups.google.com/group/rubyonrails- talk). El canal #rubyonrails de irc.freenode.net Rails también incluye una completa ayuda que puedes consultar mediante la utilidad rake de la línea de comandos: Ejecuta rake doc:guides para obtener una copia… Continuar leyendo


Autenticación básica Si publicaras ahora tu aplicación Rails, cualquier persona podría añadir, editar y borrar artículos y comentarios. Obviamente Rails incluye algunas opciones de seguridad para evitar esto. Una de ellas es la autenticación basada en HTTP. La clave consiste en proteger el acceso a varias de las acciones definidas en el controladorArticlesController. Si el usuario no está autenticado, no podrá acceder a esas acciones. Para ello utilizaremos el método http_basic_authenticate_with de Rails. La configuración de la autenticación en este caso consiste en indicar al principio del controladorArticlesController que quereos proteger todas las acciones salvao index y show: class ArticlesController… Continuar leyendo


Otra de las funcionalidades básicas de cualquier blog es la posibilidad de borrar los comentarios de spam. Para ello, vamos a añadir un enlace en la vista y una acción llamada destroy en el controladorCommentsController. En primer lugar, añade el enlace para borrar comentarios en la plantilla del parcialapp/views/comments/_comment.html.erb: <p> <strong>Commenter:</strong> <%= comment.commenter %> </p>   <p> <strong>Comment:</strong> <%= comment.body %> </p>   <p> <%= link_to ‘Destroy Comment’, [comment.article, comment], method: :delete, data: { confirm: ‘Are you sure?’ } %> </p> Al pinchar el enlace «Destroy Comment», se envía una petición HTTP de tipo DELETE a la URL/articles/:article_id/comments/:id que será respondida… Continuar leyendo


Refactorización La aplicación ya permite crear artículos y comentarios, pero si echas un vistazo al archivoapp/views/articles/show.html.erb verás que la plantilla es muy larga y su código es un poco caótico. Para limpiar el código podemos hacer uso de los parciales. Renderizando colecciones de parciales En primer lugar vamos a crear un parcial para mostrar todos los comentarios de un artículo. Crea el archivo app/views/comments/_comment.html.erb y añade el siguiente contenido: <p> <strong>Commenter:</strong> <%= comment.commenter %> </p>   <p> <strong>Comment:</strong> <%= comment.body %> </p> Then you can change app/views/articles/show.html.erb to look like the following: Ahora puedes simplificar el archivo app/views/articles/show.html.erb de la… Continuar leyendo


A continuación vamos a añadir un segundo modelo a la aplicación. Este nuevo modelo se encargará de gestionar los comentarios de los artículos. Generando el modelo Para generar el nuevo modelo usaremos el mismo generador que se explicó anteriormente para el modelo Article. Esta vez se creará un modelo llamado Comment que gestionará los comentarios de los artículos. Para crearlo, ejecuta el siguiente comando: $ bin/rails generate model Comment commenter:string body:text article:references Como resultado de este comando se generarán cuatro archivos: File Purpose db/migrate/20140120201010_create_comments.rb Archivo de migración para crear la tabla commentsen la base de datos (en tu caso el… Continuar leyendo


Ahora que has visto cómo crear un controlador, una acción y una vista, vamos a crear algo un poco más complejo. En la aplicación de blog, ahora vas a crear un nuevo recurso (resource). Un recurso es el término usado para una colección de objetos similares, como artículos, personas o animales. Puedes crear, leer, actualizar y eliminar objetos para un recurso y estas operaciones son referidas como operaciones CRUD (del inglés, Create, Read, Update, Destroy). Rails incluye un método llamado resources que puedes utilizar para declarar un recurso REST estándar. Este es el aspecto que debería tener el archivo config/routes.rb… Continuar leyendo


Para comenzar, vamos a mostrar algo de texto en la pantalla rápidamente. Para hacer ésto, necesitas tener tu servidor de aplicación Rails corriendo. Iniciando el Servidor Web En realidad ya tienes una aplicación Rails funcional, Para verla, necesitas iniciar un servidor web en tu máquina de desarrollo. Puedes hacerlo ejecutando: $ rails server Esto lanzará WEBrick, un servidor web incorporado en Ruby por defecto. Para ver tu aplicación en acción, abre tu navegador preferido y accede a http://localhost:3000. Deberías ver la página de información por defecto de Rails. La página «Welcome Aboard» es la primera prueba para una nueva aplicación… Continuar leyendo


Instalando Rails Lo primero que debes hacer es abrir una consola de comandos. En Mac OS X eso significa abrir la aplicación Terminal.app. En Windows pincha sobre el menú de inicio y elige la opción Ejecutar y teclea cmd.exe. Las líneas que empiezan por $ son los comandos que debes ejecutar en la consola. Lo primero es comprobar que tienes instalada alguna versión reciente de Ruby: $ ruby -v ruby 2.0.0p353 Una vez comprobado que tienes tanto Ruby, para instalar Rails, usa el comando proporcionado por RubyGems gem install: $ gem install rails Para verificar que tu instalación esté correcta,… Continuar leyendo