CreativiU: Cursos Online Para Creativos

Curso de ruby on rails para principiantes

Ruby on Rails es un lenguaje de desarrollo web de código abierto. Está hecho para satisfacer a los programadores y a su productividad. Este curso de ruby on rails te permitirá escribir un buen código favoreciendo la configuración de los parámetros que más necesites.

Foto de Pixabay

No es necesario ser programador para tener éxito con este tutorial. Te sentirás cómodo con el lenguaje de programación Ruby y la interfaz de línea de comandos mientras construyes una aplicación de Rails.

Esta guía es una buena manera de introducirse en la programación. Las personas que previamente construyeron sitios web sencillos usando HTML o han usado aplicaciones como WordPress, han encontrado posible avanzar más fácilmente en la construcción de sitios web con Rails.

Otros programadores con experiencia en lenguajes como PHP o Java encontraron este tutorial como una buena manera de empezar con el framework de Rails.

Ruby on Rails es un sistema de desarrollo web, de código abierto que permite construir aplicaciones web flexibles y robustas en un tiempo relativamente menor que otros entornos.

Las dos piezas principales de este entorno son dos: por un lado Ruby y por otro Rails.

Ruby es un lenguaje de programación enfocado a la simplicidad y a la productividad, con una sintaxis elegante y natural, que le hace muy fácil de entender. Es un lenguaje de script no compilado, totalmente orientado a objetos.

¡ Acómpañame, ya lo verás!

Curso de ruby on rails: Orígenes

El lenguaje Ruby fué creado por Yukihiro matz Matsumoto en 1995. Seleccionó lo que más le gustaba de otros lenguajes como Perl, Smalltalk, Eiffel, Ada y Lisp y lo adaptó al suyo propio.

Mientras que otros lenguajes tienen tipos primitivos que no son objetos, aquí todo es un objeto y por lo tanto, se le pueden asociar propiedades y métodos, así como redefinir o extender su comportamiento.

Por otro lado, Rails es un framework creado para el desarrollo de aplicaciones web. Es una serie de utilidades, de herramientas para crear aplicaciones web más rápidamente que haciéndolo desde cero.

Usando un framework nos ahorramos muchísimo trabajo y podemos concentrarnos en lo que verdaderamente importa: la lógica de la aplicación.

No en escribir una y otra vez los mismos formularios y scripts de proceso para crear, leer, modificar y eliminar datos en nuestra base de datos.

En julio de 2004 liberó el código como software libre y en febrero de 2005 comenzaron a aceptar colaboraciones para mejorar Rails, formándose un amplio equipo de programadores, llamado el core team.

Aplicaciones de inicio

El lenguaje Rails proporciona un marco.  Es decir, una biblioteca de software que da utilidades, convenciones y principios organizativos que nos permiten crear aplicaciones web complejas.

Sin un marco, tendríamos que codificar todo desde cero. Rails nos da los fundamentos que necesitamos para muchos sitios web haciendo todo realmente mucho más sencillo e intuitivo.

Sin embargo, este marco no nos da todas las características que necesitamos para muchos tipos de sitios web. Por ejemplo, es posible que desees que los usuarios se registren en una cuenta e inicien sesión para acceder al sitio web.

Por ejemplo, administración y autenticación de usuarios.

También puede que desees restringir partes de tu sitio web a los administradores o dar autorización. También es posible que desees agregar joyas que mejoren Rails para ayudar al desarrollo o mejorar la apariencia de tu aplicación.

Estas son unas de las múltiples cosas que se podrán realizar con Rails.

Los desarrolladores a menudo mezclan y combinan componentes para crear una pila de Rails personalizada.

¿Cómo?

Los desarrolladores utilizan a menudo una aplicación de inicio en lugar de ensamblar una aplicación desde cero. Podríamos llamar a esto una “plantilla”.

Pero usamos ese término para referirnos a los archivos de vista que combinan HTML con código Ruby para generar páginas web.

La mayoría de los desarrolladores experimentados tienen una o más aplicaciones de arranque que les ahorran tiempo al iniciar un nuevo proyecto.

El proyecto RailsApps fue lanzado para ofrecer aplicaciones de inicio de código abierto para que los desarrolladores puedan colaborar en sus aplicaciones de inicio y evitar el esfuerzo duplicado.

¿Cómo crearemos nuestra aplicación ?

El primer paso para crear una nueva aplicación Rails es crear la estructura base. Para ello, abriremos un terminal de comandos y escribiremos:

$ rails blog 

Esto generará un directorio llamado “blog” que será el nombre de nuestra aplicación y dentro de él habrá un montón de subdirectorios y ficheros que forman la base de nuestra aplicación. Entremos en este nuevo directorio y veamos los principales elementos:

$ cd blog $ ls app config doc log Rakefile script tmp components db lib public README test vendor 

Dentro de app encontrarás los ficheros correspondientes a los modelos, vistas, controladores y helpers que forman la parte principal de nuestra aplicación de ahí el nombre de “app”, que viene de “application”.

En el apartado config están los ficheros de configuración que definen el acceso a base de datos y otros. En log encontraremos los ficheros de registro de servidor (logs). La carpeta public contendrá elementos estáticos como imágenes, hojas de estilo y javascript…

Fíjate que también existe una carpeta script. Esta contiene unas cuantas herramientas de Rails que nos ayudarán en nuestro desarrollo. Vamos a probar la primera:

$ script/server

A continuación, abre tu navegador web y dirígete a la dirección http://localhost:3000. Lo que verás es la página de bienvenida de Ruby on Rails dentro de tu nueva aplicación y esto es porque Rails viene con su propio servidor web de serie, llamado WEBrick.

Si vuelves al terminal podrás observar cómo WEBrick ha ido respondiendo a las peticiones del navegador web sirviendo los ficheros solicitados.

Prácticamente todas las aplicaciones de Rails empiezan de la misma manera, ejecutando el comando rails new. Este práctico comando crea una aplicación esqueleto de Rails en un directorio de su elección.

Para empezar, los usuarios que no utilicen el Cloud9 IDE deberían crear un directorio de área de trabajo para sus proyectos Rails si aún no existe y luego cambiar al directorio.

Línea de comandos de Unix

Para los lectores que vienen de Windows o de mac OS X, la línea de comandos de Unix puede no ser familiar.

Afortunadamente, si estás utilizando el entorno de nube recomendado automáticamente tendrás acceso a una línea de comandos de Unix que ejecuta una interfaz de línea de comandos de shell estándar conocida como Bash.

La idea básica de la línea de comandos es simple: mediante la emisión de comandos cortos, los usuarios pueden realizar un gran número de operaciones, como crear directorios, mover y copiar archivos y navegar por el sistema de ficheros cambiando directorios.

Aunque la línea de comandos puede parecer primitiva para los usuarios principalmente familiarizados con interfaces gráficas de usuario (GUI), las apariencias engañan: la línea de comandos es una de las herramientas más potentes de la caja de herramientas del desarrollador.

De hecho, rara vez se verá el escritorio de un desarrollador experimentado sin varias ventanas de terminal abiertas que ejecutan shells de línea de comandos.

El tema general es profundo, pero para los propósitos de este post sólo necesitaremos algunos de los comandos de línea de comandos Unix más comunes, como se resume la imagen que les enseño.

Tomado de Railstutorial

Bundler

Después de haber creado una nueva aplicación Rails, el siguiente paso es utilizar Bundler para instalar e incluir las gemas necesarias para la aplicación.

Bundler se ejecuta automáticamente por el comando rails. Pero,  en esta sección haremos algunos cambios en las gemas de aplicación predeterminadas y ejecutaremos Bundler de nuevo.

Esto implica abrir el Gemfile con un editor de texto. Con el IDE de la nube, se trata de hacer click en la flecha del navegador de archivos para abrir el directorio de ejemplo de la aplicación y hacer doble click en el icono de Gemfile

Aunque los números y detalles exactos de la versión pueden diferir ligeramente.  Si los archivos y directorios no aparecen, haz click en el archivo El ícono de cambios del navegador y selecciona “Actualizar árbol de archivos”.

Como regla general, se debe actualizar el árbol de archivos siempre que los archivos o directorios no aparezcan como se esperaba.

 

Tomado de Railstutorial

Muchas de estas líneas se comentan con el símbolo de hash #; y están allí para mostrarte algunas gemas comúnmente necesarias y para dar ejemplos de la sintaxis de Bundler. Por ahora, no necesitaremos gemas aparte de los valores por defecto.

A menos que especifiques un número de versión en el comando gem, Bundler instalará automáticamente la última versión solicitada de la joya. Este es el caso, por ejemplo, en el código

Gem ‘sqlite3’

También hay dos formas comunes de especificar un rango de versión de gem, lo que nos permite ejercer cierto control sobre la versión utilizada por Rails. La primera se ve así:

Joya ‘uglifier’, ‘> = 1.3.0’

Esto instala la versión más reciente de la joya uglifier que maneja la compresión de archivos para la canalización de activos siempre y cuando sea mayor o igual que la versión 1.3.0, incluso si es, digamos, la versión 7.2.

El segundo método tiene este aspecto:

Gema ‘rails de café’, ‘~> 4.0.0’

Ten en cuenta que también hemos aprovechado esta oportunidad para organizar la joya sqlite3 Incluido en un entorno de desarrollo o prueba, lo que evita posibles conflictos con la base de datos utilizada por Heroku.

Tomado de Railstutorial

Crear artículos 

Si quisiéramos crear un blog,  lo primero que vamos a necesitar es poder tener donde escribir nuestros artículos. Para esto, un artículo tendrá un título y un texto principal, así que comenzaremos así:

Habrá que hacer el modelo del articulo, para lo que usaremos el script de generación de modelos:

$ script/generate model Articulo exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/articulo.rb create test/unit/articulo_test.rb create test/fixtures/articulos.yml create db/migrate create db/migrate/001_create_articulos.rb

Vemos que al ejecutarlo. El script verifica que existen los subdirectorios necesarios y crea varios archivos en un orden específico:  articulo.rb es el que tendrá la lógica del modelo.

Los archivos que estén dentro de test nos facilitan las comprobaciones de esta lógica, y el archivo creado dentro de db/migrate te facilitará la especificación de la estructura de la tabla que contendrá los artículos en la base de datos.

Vamos a abrir y rellenar este fichero:

# db/migrate/001_create_articulos.rb 

class CreateArticulos < ActiveRecord::Migration def self.up create_table :articulos do |t| t.column :titulo, :string t.column :cuerpo, :text end end def self.down drop_table :articulos end end

Vemos que en este archivo define dos formas de trabajo. Uno llamado self.up que hará los cambios que necesites y otro que se va a llamar self.down que deshará estos mismos cambios en caso de que necesitemos ir para atrás.

Las acciones que tomemos dentro de self.up son muy fáciles de leer: si lo lees en inglés casi te  saldrá la frase “crear una tabla articulo y haz una columna con el título que será una cadena y una columna que es de texto“.

Por otro lado, self.down dice simplemente “la tabla articulos“.

Además de las columnas que definas. Rails incluirá automáticamente para cada tabla una columna “id” para el identificador único de cada fila de la tabla.

Te puedes fijar también en que le has pedido definir el modelo Articulo en singular. Rails siguiendo sus convenciones deduce que te pondrás de acuerdo en llamar a la tabla “articulos” como el plural del modelo.

Rails es lo bastante listo como para saber hacer los plurales incluso en casos irregulares como Person -> people.

También podrás definir tus propias reglas de realizar plurales para definir las reglas gramaticales de otros idiomas. Puede hacer que por ejemplo pluralices correctamente un modelo Camión como camiones, en lugar de “camions”.

Para aplicar esta definición del modelo Articulo en la base de datos, vas a ejecutar:

$ rake db:migrate 

Al realizar esta orden, Rails leerá el fichero config/database.yml para saber cómo acceder a la base de datos y aplicará las órdenes definidas en la migración para crear las tablas en MySQL.

Si en el fichero de configuración hubieras especificado otra clase de base de datos (PostgreSQL, Oracle, Sqlite, SQL Server…) en lugar de MySQL, Rails hubiera sabido cómo crear la tabla.

Ya tenemos nuestro modelo Articulo creado y la tabla que almacenará sus datos. Ahora necesitarás un sistema para administrar los artículos que te permita crearlos, modificarlos, borrarlos y etc…

 

Tomado de Railstutorial

Acabas de generar nuestro tu controlador. Vamos a llamarlo “admin”. Por ahora está vacío. No hace nada, como podemos comprobar visitando http://localhost:3000/admin. Nos indicará que ninguna acción ha respondido al método index.

Para comenzar rápidamente, vamos a hacer uso de una característica de Rails llamada scaffold. Esto se traduce por “andamio” y es precisamente eso.

Al igual que construir edificios uno se apoya en andamios al comienzo de la construcción. Posteriormente terminarás quitándolos cuando la construcción esté avanzada y ya no los necesitemos.

Un scaffold nos genera listados, formularios y lógicas de proceso para las operaciones más comunes en una interfaz de administración: crear, visualizar, modificar y eliminar.

Edita el fichero app/controllers/admin_controller.rb y ponlo como en el siguiente ejemplo: # app/controllers/admin_controller.rb 

¡Listo!, has creado tu primera aplicación de Ruby On Rails.

Este es un súper abreboca de todo lo que puedes hacer con  el lenguaje Ruby on Rails.

Espero que este curso de Ruby on Rails que he traido para hoy te haya dado las bases fundamentales para incursionar en este mundillo de la programación.

Te invito a que me comentes. ¿Cómo te ha ido con este Curso de Ruby on Rails?

¡A trabajar!