Ruby on Rails para diseñadores

Ruby on Rails es un marco web de código abierto que está optimizado para la felicidad del programador y la productividad sostenible. Te permite escribir código hermoso al favorecer la convención sobre la configuración.

Así es como Ruby on Rails se promueve a sí mismo, pero en mi opinión, es un marco increíble que realmente puede hacer su vida mucho más fácil. Puedes aprender más en su sitio http://rubyonrails.org

Paso 1- Instalando Ruby en Rieles

La instalación de Ruby on Rails (que también suele reducirse a RoR) es bastante sencilla en la mayoría de los sistemas, pero tendrá que sentirse cómodo al abrir el terminal. La página de descarga de Ruby on Rails proporciona enlaces para comenzar, y los reproduciré aquí para ahorrarle un poco de tiempo. Solo como nota, estos son los lugares para obtener Ruby, que es en lo que Rails está programado, y estaremos instalando Rails en un minuto. Para aprender más sobre el idioma, revisa el sitio de Ruby

  • Windows: Ruby Installer con un solo clic (recomiendo usar la versión final 1.8.6-26)
  • Mac OS X 10.4: Se envía con Ruby roto, pero puedes seguir la guía increíble de Dan Benjamin.
  • Mac OS X 10.5: Si instala las herramientas de desarrollo de Apple, se configurará. Prueba tus discos de instalación o el Sitio de desarrolladores de Apple y descarga Xcode
  • Linux: Si bien esto puede variar para cada distribución, deberá instalar ruby, irb y rdoc.

Ahora que hemos descargado Ruby, asegúrate de tener RubyGems, que es un administrador de paquetes para Ruby.

Para probar si tiene RubyGems, ejecute lo siguiente en el terminal:

gema -v

A partir de este escrito, 1.3.2 es la última versión. Para actualizar si no tiene la última versión, ejecute lo siguiente, y si está usando una Mac, coloque sudo en la parte delantera.

actualización de gemas --sistema

Si no va a utilizar RubyGems, siga estos pasos:

  1. Descarga la última versión de RubyGems aquí.
  2. Extraer el paquete
  3. Cambie al directorio en su terminal (cd es el comando)
  4. Ejecuta esto en el terminal: ruby ​​setup.rb (Agrega sudo delante del comando para usuarios de Linux y Mac OS X, también necesitarás continuar con eso para todos los comandos de instalación de gemas)

Si tiene un sistema Linux, debería poder instalar RubyGems a través de su administrador de paquetes, pero prefiero el método anterior. Si tiene más problemas, consulte la documentación de instalación en el sitio de RubyGems.

Instalación de rieles

Ahora que tenemos la última versión de RubyGems, instalemos Rails:

gema instalar rieles

Tomará unos minutos instalar Rails y todas sus dependencias.

Paso 2 - Crear una aplicación

Entonces, ahora que tenemos Ruby, RubyGems y Rails instalados, ¡creemos un proyecto! Para crear un nuevo proyecto, utilizará el comando Rails para crear nuevos proyectos. Vamos a crear un proyecto simple llamado "blog". Nota: Esto creará la carpeta de la aplicación en el directorio actual en el que se encuentra en la terminal, así que asegúrese de cambiar al directorio en el que desea que se almacene la aplicación..

blog de rieles

Deberías ver algo como esto volando por:

A continuación, abra el proyecto en su editor de texto favorito / IDE. Personalmente me encanta TextMate, aunque solo para Mac OS X, hay algunos clones geniales que también están disponibles.

Estructura de la carpeta

La estructura de carpetas de un Ruby on Rails será similar a la siguiente:

Hay tres carpetas con las que cualquier desarrollador o diseñador deberá trabajar diariamente: la aplicación, la configuración y las carpetas públicas. Por favor revise las explicaciones breves para cada una de las carpetas:

  • aplicación: Aquí es donde vive la lógica de tu aplicación..
    • controladores: Aquí es donde Rails busca las clases de controlador. En definitiva, estos reciben las peticiones..
    • ayudantes Los ayudantes viven en este directorio y ayudan a los controladores, modelos y vistas
    • modelos: Básicamente, cada uno de estos representa una tabla en la base de datos, por lo que encontrar información y configurar su aplicación es muy simple
    • puntos de vista: lo que ve el usuario
      • diseños: Estos son cada uno de los diseños que puede definir un controlador para usar. Hace que las plantillas sean muy fáciles.
      • todos los demás Mientras que en nuestra aplicación actualmente no tenemos ninguna, cada una de las otras carpetas que estarán en esta carpeta representan y se relacionan con los controladores, y los archivos que estarán aquí corresponden a las acciones en el controlador.
  • config: Esta carpeta contiene todos los ajustes de tu aplicación. Algunos archivos específicos:
    • database.yml: Este archivo contiene la configuración de su base de datos
    • environment.rb: Este archivo contiene la configuración de Rails para su aplicación.
    • ambientes /: Esta carpeta contiene los ajustes de configuración para cada uno de los entornos específicos: desarrollo, prueba y producción.
    • rutas.rb: Este archivo contiene la configuración del esquema de URL, así como la URL específica y dónde enviar las solicitudes
  • db Esta carpeta terminará conteniendo su base de datos (si usa sqllite), el esquema de su base de datos y todas las migraciones de su base de datos (cambios a la estructura)
  • Doc: Esta carpeta contendrá toda la documentación generada por rake doc: app
  • lib Los archivos aquí contienen código específico de la aplicación que no pertenece a sus controladores.
  • Iniciar sesión: Rails almacena los registros aquí, cuatro de ellos. Uno para cosas específicas del servidor en server.log y uno para cada entorno.
  • público: Esta carpeta contiene todos los archivos que no cambiarán tanto. Rails busca los archivos de ella antes de intentar ir a un controlador. Los Javascripts se almacenan en la carpeta javascripts, las imágenes en la carpeta de imágenes y las hojas de estilo en la carpeta de hojas de estilo. Los archivos estáticos como robots.txt y otros archivos html también se pueden almacenar aquí. Asegúrate de eliminar el archivo index.html porque se mostrará en lugar de lo que quieres!
  • guión: Estos scripts hacen tu vida mucho más fácil. El script del servidor inicia el servidor web de desarrollo y genera código..
  • prueba: Las pruebas que escribes y las que Rails crea para ti se guardan aquí..
  • tmp: Rails almacena cualquier archivo temporal aquí.
  • vendedor: Aquí puede instalar cualquier complemento de Rails (o bibliotecas) hecho por terceros que no vienen por defecto con la distribución de Rails..

Paso 3 - ensuciarse las manos

Si bien el propósito de este tutorial no es crear una aplicación, todavía haremos un poco de programación. Primero creamos un controlador llamado artículos: (Asegúrate de que has cambiado en la raíz de la aplicación Rails)

script / generar artículos controlador

Ahora abre el archivo, y deberías ver esto:

clase ArticlesController < ApplicationController end 

Todo lo que este código dice es que estamos definiendo una nueva clase llamada ArticlesController que hereda de otra clase llamada ApplicationController. Ahora, vamos a crear un índice de nombre de acción (conocido como un método estrictamente hablando en Ruby), por lo que cuando vaya a http: // localhost: 3000 / articles / se le mostrará algo. Cambia tu código para que se vea como:

clase ArticlesController < ApplicationController def index end end

Ahora que tenemos una acción, vaya a la carpeta de aplicaciones / vistas. Vamos a crear una vista para que cuando un usuario solicite esa URL, realmente vea algo. Es posible que haya notado que hay una nueva carpeta aquí denominada artículos; Esta carpeta fue creada cuando generamos el controlador. Por lo tanto, cree un nuevo archivo en la carpeta de artículos llamada index.html.erb. Puede preguntar sobre el final, el html se refiere al tipo de archivo, y el erb se refiere a Ruby incrustado como el motor de plantillas. Personalmente prefiero rhtml, ya que es un final único, pero se depreciará en Rails 3, que se lanzará en RailsConf este verano. Pon esto en tu nuevo archivo:

El tiempo ahora es <%= Time.now %>

Las etiquetas & lt% =%> pueden intrigarte. Esta etiqueta está diseñada para que Ruby muestre los resultados del código Ruby adjunto. Así que este código imprimirá el Tiempo ahora. La otra etiqueta que usarás en Rails es simplemente <%- -%>. Esta etiqueta es para el código Ruby que en realidad no genera nada, como cuando se repite a través de elementos en una matriz.

Ahora vamos a crear un diseño para hacer este texto hermoso. Así que cree un archivo en el directorio views / layouts llamado application.html.erb con lo siguiente:

   <%= h(@title) %> <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'prototype' %> <%= yield(:head) %>   
<%- flash.each do |name, msg| -%> <%= content_tag :div, msg, :id => "flash _ # nombre"%> <%- end -%> <%= yield %>

Primero, antes de explicar el código, quiero que sepa por qué llamamos el archivo application.html.erb. Los rieles cargarán automáticamente este diseño cada vez que no se especifique lo contrario. Si hubiera llamado a este diseño "diseño", entonces habría tenido que agregar diseño: diseño en la parte superior del controlador. Este bloque de código tiene algunos tidbits importantes que querrá saber cuando esté desarrollando diseños.

  • <%= stylesheet_link_tag 'application' %>: Esta etiqueta genera la etiqueta de inclusión CSS para el archivo CSS denominado application.css
  • <%= javascript_include_tag 'prototype' %>: Esta etiqueta genera la etiqueta de inclusión de Javascript para la biblioteca de JavaScript Prototype. Prototipo es la biblioteca javascript predeterminada que viene con Rails. También puede poner: valores predeterminados (no entre comillas simples) en lugar de solo prototipo y Rails cargará todos los valores predeterminados, todos cargarán todos los archivos en la carpeta public / javascripts.
  • <%- flash.each do |name, msg| -%>: Este código y el código en el bloque significa que para cada elemento de la matriz flash, mostrará un mensaje al usuario.
  • <%= yield %>: Esto genera toda la información de la vista individual, y se envía dentro de la plantilla y se la envía al usuario.

Ahora, creemos un archivo CSS rápido, llamado application.css en public / stylesheets, y pongamos lo siguiente en él:

cuerpo color de fondo: # 111; Familia tipográfica: Verdana, Helvetica, Arial; tamaño de fuente: 14px;  #container ancho: 75%; margen: 0 auto; color de fondo: #FFF; relleno: 10px; borde: sólido 5px # 999; margen superior: 20px; 

Ahora, tenemos una aplicación muy simple para mostrar la hora actual; Con suerte, deberías estar más familiarizado con los conceptos básicos de Rails..

Paso 4 - Terminando

Podría estar pensando: "Esto es genial y todo, pero ¿cómo veo el producto final?" Hay un comando de terminal que debe ejecutar mientras está en la base de la aplicación Rails para iniciar el servidor de desarrollo local. script / server iniciará el servidor, normalmente en el puerto 3000. Ejecute el comando y apunte su navegador a http://127.0.0.1:3000/articles. Deberías ver lo siguiente:

Para detener el servidor, seleccione la ventana de terminal y Control-C. Esto detendrá el servidor de desarrollo. Como nota, asegúrese de nunca ejecutar un servidor de producción de esta manera.

Hay una última cosa que me gustaría mostrarte. Como dije antes, el archivo config / route.rb administra donde van las solicitudes. Abre el archivo; Lo vamos a hacer para que cuando vayas a http://127.0.0.1:3000/, veas lo mismo que antes. Busque la línea, "# Puede tener la raíz de su sitio enrutada con map.root; recuerde eliminar public / index.html". Bajo esa sección, agregue lo siguiente:

map.root: controlador => "artículos"

Guarde el archivo y asegúrese de reiniciar el servidor web. Siempre deberá reiniciar el servidor cada vez que cree un nuevo modelo y cambiar algunos otros archivos que Rails almacena en la memoria para acelerar el servidor. Asegúrese de eliminar public / index.html, o simplemente cámbiele el nombre. Ahora asegúrese de que el servidor esté iniciado y vaya a http://127.0.0.1:3000. Deberias ver lo mismo.

Conclusión

Así que ahora deberías estar un poco más familiarizado con Ruby on Rails. También me he vinculado a algunos sitios realmente geniales para consultar al desarrollar con Rails. Diviértete codificando con Rails!

  • Las presentaciones de Rails de Ryan Bates son una increíble fuente de tutoriales en video, y siempre puedes esperar algo grandioso..
  • La API de Rails es una excelente manera de encontrar más información sobre un tema del que no esté completamente seguro..

Síganos en Twitter para obtener más detalles diarios de desarrollo web y artículos..