0% encontró este documento útil (0 votos)
230 vistas31 páginas

Ruby On Rails-Completo - En.es PDF

Ruby on Rails es un framework de aplicaciones web escrito en Ruby. Permite crear aplicaciones web de forma rápida y productiva siguiendo el patrón MVC y convenciones sobre configuración. Rails incluye características como scaffolding, pruebas automatizadas, acceso a bases de datos y envío de correo electrónico de forma integrada. El documento explica las ventajas de productividad de Rails, como su capacidad de metaprogramación y generación automática de código, y proporciona un tutorial básico para crear una aplicación web de sal

Cargado por

bhugos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
230 vistas31 páginas

Ruby On Rails-Completo - En.es PDF

Ruby on Rails es un framework de aplicaciones web escrito en Ruby. Permite crear aplicaciones web de forma rápida y productiva siguiendo el patrón MVC y convenciones sobre configuración. Rails incluye características como scaffolding, pruebas automatizadas, acceso a bases de datos y envío de correo electrónico de forma integrada. El documento explica las ventajas de productividad de Rails, como su capacidad de metaprogramación y generación automática de código, y proporciona un tutorial básico para crear una aplicación web de sal

Cargado por

bhugos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 31

Ruby on Rails

 Ruby on Rails es un framework de aplicaciones web escrito en Ruby, un


lenguaje de programación de tipos dinámicos. Las demandas de su
increíble productividad hace un zumbido actualmente en la comunidad de
desarrollo web. Si su trabajo consiste en crear o administrar aplicaciones
web que captura y manipular bases de datos relacionales de una interfaz
de usuario basada en web, a continuación, Ruby on Rails puede ser la
solución que ha estado buscando para hacer su vida más fácil el
desarrollo web.
 En esta presentación:
– Obtenga una introducción a Ruby on Rails
– Averiguar qué hay detrás de la publicidad
– Verlo en acción mediante la construcción de una aplicación
completamente funcional en cuestión de minutos
¿Qué es Ruby?

 Ruby es un lenguaje de programación orientado a objetos puro con una


sintaxis muy limpia que hace la programación elegante y divertido.
– En Ruby, todo es un objeto
 Ruby es un lenguaje de programación interpretado, como Perl, Python y
PHP.

 Rubí combina con éxito la elegancia conceptual de Smalltalk, facilidad de


uso y Python de aprendizaje y el pragmatismo de Perl.

 Rubí se originó en Japón en 1993 por Yukihiro “Matz” Matsumoto, y ha


comenzado a ser popular en todo el mundo en los últimos años a medida
que más libros en inglés y la documentación se han hecho disponibles.

 Ruby es un lenguaje metaprogramming. Metaprogramming es un medio


para escribir programas de software que escriben o manipulan otros
programas que hacen de ese modo de codificación más rápida y fiable.
¿Cuál es Rails?
Ruby on Rails o sólo Rails (RoR)

 Rails es una fuente de Ruby marco abierto para el desarrollo de


aplicaciones web en bases de datos.
 Creado por David Heinemeier Hansson - DHH Partner, 37Signals
http://money.cnn.com/magazines/business2/peoplewhomatter/
 El marco Rails fue extraído de las aplicaciones web en el mundo real. Es
decir, Rails proviene de necesidad real, no anticipando lo que podría ser
necesaria. El resultado es un marco fácil de usar y de cohesión que es
rico en funcionalidad, y, al mismo tiempo que se hace todo lo posible
para mantenerse fuera de su camino.
 Todas las capas en los Rails están diseñados para trabajar juntos para
que no repita usted mismo y puede utilizar una sola lengua de arriba a
abajo.
 Todo en Rails (plantillas para controlar el flujo de la lógica de negocio)
que está escrito en Ruby
– A excepción de los archivos de configuración - YAML
Puntos fuertes Rails - Se trata de Productividad

 La meta-programación son técnicas que utilizan programas para escribir


programas. Otros marcos utilizan extensa generación de código, que
ofrece a los usuarios un aumento de la productividad de una sola vez,
pero poco más, y la personalización de secuencias de comandos que el
usuario pueda añadir código de personalización sólo en un pequeño
número de puntos selecta
– Meta-programación sustituye a estas dos técnicas primitivas y
elimina sus desventajas.
– Ruby es uno de los mejores lenguajes de Meta-programación, y Rails
utiliza bien esta capacidad.
 Scaffolding
– A menudo se crea código temporal en las primeras etapas de
desarrollo para ayudar a conseguir una aplicación rápida y ver cómo
las principales componentes trabajan juntos. Rails crea
automáticamente la mayor parte de los Scaffoldings que necesita.
Rails Fortalezas - escribir código no Configuración

 Convención sobre configuración


– La mayoría de los marcos de desarrollo Web para .NET o Java que la fuerza
para escribir páginas de código de configuración. Si sigue sugirió
convenciones de nomenclatura, Rails no necesita mucha configuración. De
hecho, a menudo se puede cortar su código de configuración total por un
factor de cinco o más sobre los marcos de Java similares con sólo seguir las
convenciones comunes.
• El nombramiento de su clase del modelo de datos con el mismo nombre
que la tabla de base de datos correspondiente
• 'id' como el nombre de la clave primaria
 Rails presenta el marco Active Record, lo que ahorra los objetos de la base de
datos.
– Sobre la base de un patrón de diseño catalogado por Martin Fowler, la versión
de Rails Active Record descubre las columnas en un esquema de base y
automáticamente los adhiere a los objetos de dominio utilizando
metaprogramming.
– Este enfoque para envolver tablas de la base es simple, elegante y de gran
alcance.
Rails Fortalezas - Marco Full Web Stack

 Rails implementa la arquitectura modelo-vista-controlador (MVC). El


patrón de diseño MVC separa las partes componentes de una aplicación

– Modelo encapsula los datos


que manipula la aplicación,
además de la lógica específica
del dominio
– Ver es una representación del
modelo en la interfaz de
usuario
– Controlador responde a los
eventos de la interfaz y hace
que las acciones a realizar en
el modelo.
– patrón MVC permite un cambio
rápido y la evolución de la
interfaz de usuario y
controlador independiente del
modelo de datos
Puntos fuertes Rails

 Rails abraza desarrollo basado en pruebas.


– La prueba de unidad: prueba piezas individuales de código
– Las pruebas funcionales: pruebas de piezas individuales de cómo
interactúan código
– Las pruebas de integración: probar todo el sistema

 Tres ambientes: el desarrollo, prueba y producción

 Soporte Base de datos: Oracle, DB2, SQL Server, MySQL, PostgreSQL,


SQLite

 acción Mailer

 Servicio Web Acción

 Prototipo para AJAX


Medio Ambiente y Rails Instalación del software

 Raíles se pueden ejecutar en muchas diferentes servidores web. La


mayor parte de su desarrollo se llevará a cabo utilizando WEBrick, pero
es probable que desee ejecutar el código de producción en uno de los
servidores alternativos.
– Apache, Lighttpd (Lighty), Mongrel
 Entorno de desarrollo
– Windows, Linux y OS X
– No es necesario IDE aunque hay algunos disponibles, como Eclipse,
RadRails
 Instalación de Ruby para Windows
– Descargar el “One-Click Rubí instalador de
http://rubyinstaller.rubyforge.org
 Instalación de Ruby para Mac
– Ya está ahí!
 RubyGems es un gestor de paquetes que proporciona un formato
estándar para la distribución de programas y bibliotecas de Ruby
 Instalación de rieles
– > Joya instalar rieles -include dependencias
Tutorial rieles

 Crear la aplicación de rieles


– Ejecutar el script que crea un nuevo proyecto de aplicación Web
> Projectname rieles
– Este comando ejecuta un script de rieles ya condición de que crea
toda la estructura de directorios de aplicaciones web y archivos de
configuración necesarios.
Rieles Estructura de directorio de aplicaciones
 la aplicación> contiene el núcleo de la aplicación
• / Modelos> Contiene los modelos, que encapsulan la lógica
empresarial de la aplicación
• / Views / layouts> Contiene las plantillas maestras para cada
controlador
• / Views / nombrecontrolador> Contiene las plantillas para las
acciones del controlador
• /> contiene ayudantes ayudantes, que se puede escribir para
proporcionar una mayor funcionalidad a las plantillas.
 config> contiene configurabilidad configuración de la aplicación, además
de per-medio ambiente - contiene el archivo database.yml que proporciona
detalles de la base de datos para ser utilizado con la aplicación
 db> contiene una instantánea del esquema de base de datos y las
migraciones
 Registro> registros específicos de la aplicación, contiene un registro para
cada entorno
 público> contiene todos los archivos estáticos, como imágenes, archivos
JavaScript y hojas de estilo
 script> contiene los comandos de utilidades Rieles
 prueba> contiene accesorios de la prueba y el código
Hola rieles!

 Necesita un controlador y una vista


> Ruby script / generate felicitación del controlador
 Editar app / controllers / greeting_controller.rb
 Añadir un método de índice a la clase controlador
clase GreetingController <ApplicationController
def index
render: text => "<h1> Hola rieles Mundial </ h1>"
fin
fin
– Hace que el contenido que será devuelto al navegador como el
cuerpo de la respuesta.
 Iniciar el servidor WEBrick
> Ruby script / server
http: // localhost: 3000
Hola rieles!

 Añadir otro método para el controlador


hola def
fin

 Añadir una aplicación de plantilla / views / saludo> hello.rhtml


<Html>
<Head>
<Title> Hola rieles mundo! </ Title>
</ Head>
<Body>
<H1> Hola de los rieles Vista! </ H1>
</ Body>
</ Html>
Hola rieles!

 ERb - Embedded Ruby. La reproducción del lenguaje de programación


Ruby en el documento HTML. Un archivo de erb termina conextensión de
archivo .rhtml.
– Al igual que en ASP, JSP y PHP, requiere un intérprete para ejecutar
y reemplazarlo con código HTML designado y contenido.

 Por lo que es dinámico


<P> Fecha / Hora: <% =% Time.now> </ p>

 Es muchísimo mejor mediante el uso de una variable de instancia al


controlador
@time = Time.now.to_s
– Hacer referencia a ella en .rhtml <% = Tiempo @%>

 La vinculación de las páginas utilizando el método de ayuda link_to ()


<P> Es hora de decir <% = link_to "Adiós!",: Action => "adiós" %>
La construcción de un simple calendario de eventos

 Generar el modelo (se necesita una base de datos y la tabla)

 Generar la Solicitud

 Configurar el acceso de base de datos

 Crear el Scaffolding

 Construir la interfaz de usuario

 Incluir un ayudante Calendario

 Exportar a iCal (iCalendar es un estándar para el intercambio de datos de


calendario)
Crear la base de datos de Calendario de Eventos

 Crear una base de datos


– Convenciones de nombres
• Las tablas deben tener nombres que son plurales en inglés. Por
ejemplo, la base de datos de personas posee objetos persona.
 Utilizar los identificadores de objetos guardados ID.
• Las claves externas se deben nombrar object_id. En Active
Record, una fila llamado person_id apuntarían a una fila en la
base de datos de personas.
• CARNÉ DE IDENTIDAD
• Creado en
• Actualizado en
– Editar el archivo config / database.yml
 Crear un modelo
 Crear un controlador
Rails de Scaffolding

 Scaffolding
– bloques de construcción de aplicaciones de base de datos basado en
la Web
– Un Scaffolding Rails es un marco generada automáticamente para
manipular un modelo
 CRUD crear, leer, actualizar, eliminar
> Ruby script / generate modelo de eventos
> Ruby script / generate evento de controlador
• Crear una instancia mediante la inserción de un Scaffolding
• Scaffolding: evento en el EventController
• Los controladores CRUD y plantillas de vista resultantes se crean
sobre la marcha y no es visible para la inspección
Rails de Scaffolding

 Código Scaffolding de generación


 Uso: script / generar Scaffolding ModelName [ControllerName] [acción,
...]
> Ruby script / Scaffolding generar eventos de administración
– Genera el modelo y el controlador, además de que crea código de
Scaffolding y plantillas de vista de todas las operaciones CRUD.
– Esto le permite ver el código de Scaffolding y modificarlo para
satisfacer sus necesidades.
• Índice
• Lista
• Espectáculo
• Nuevo
• Crear
• Editar
• Actualizar
• Destruir
Crear la interfaz de usuario

 Aunque funcional, estas plantillas son apenas utilizable y sólo destinados


a proporcionar un punto de partida
– RHTML archivos incrustados utilizan Rubí mezcla con HTML ERb
• <% ...%> # ejecuta el código Ruby
• <% = ...%> # ejecuta el código Ruby y muestra el resultado
– ayudantes
– diseños
– parciales
– Error de mensajes
– CSS
– AJAX

 Ayudantes de formulario
– Iniciar, presentar, y las formas finales
Interfaz de usuario con estilo

 diseños
/standard.rhtml
Añadir de diseño "layouts / estándar" al controlador

 parciales
/_header.rhtml
/_footer.rhtml

 hojas de estilo
– Publi / hojas de estilo / *. Css

• NOTA: La antigua notación para representar el punto de vista del


diseño de una era exponer la magia @content_for_layout
variable de instancia. La notación preferido ahora es
utilizarrendimiento
Mejorar el Modelo

 La mejora de la Modelo
– El modelo es donde se almacenan todas las reglas relacionadas con
los datos
– Incluyendo la validación de datos y la integridad relacional.
– Esto significa que puede definir una regla de una vez rieles se
aplicará automáticamente siempre que se accede a los datos.
 Validaciones de datos - Creación de reglas de validación en el modelo
validates_presence_of: nombre
validates_uniqueness_of: nombre
validates_length_of: Nombre:máximo => 10
 Añadir otro modelo
 migraciones
– migran rastrillo
Crear la relación

 Asignación de una categoría a un evento


– Añadir un campo a la tabla de eventos para mantener la categoría ID
para cada evento
– Proporcionar una lista desplegable de categorías
 crear relación
– Editar modelos \ event.rb
Clase de evento <ActiveRecord :: Base
belongs_to: categoría
fin
– Editar modelos \ category.rb
Clase Categoría <ActiveRecord :: Base
has_many: eventos
fin
– Un evento pertenece a una categoría única y que una categoría se
puede conectar a muchos eventos
rieles relaciones

 Relaciones modelo

– Has_one => relación uno a uno

– Belongs_to => muchos a uno (Muchos)

– Has_many => muchos a uno (uno)

– Has_and_belongs_to_many => relaciones muchos a muchos


Categorías asociados a eventos

 Editar acción de sucesos y la plantilla para asignar categorías


def nueva
@event = Event.new
@categorias = Category.find (: todos)
fin

def edición
@event = Event.find (@params [: id])
@categorias = Category.find (: todos)
fin
 Editar _form.rhtml
<% = Seleccionar "evento", "category_id", @ categories.collect {| c | [C.name,
c.id]}%>
Ayudante de calendario

 Este ayudante calendario le permite dibujar un calendario de enlace de


datos con formato CSS de grano fino sin introducir ningún nuevo
requisito para sus modelos, esquemas de enrutamiento, etc.
 Instalación:
– script / plugin de instalar
http://topfunky.net/svn/plugins/calendar_helper/
– plugins lista en el repositorio especificado:
lista de plugins --source = http:
//dev.rubyonrails.com/svn/rails/plugins/
– Para copiar los archivos CSS, utilice
> ruby ​script / generate calendar_styles
 Uso:
<% = Stylesheet_link_tag 'calendario / azul / estilo' %>
<% = Calendario (: año => Time.now.year, desde: el mes =>
Time.now.month)%>
iCalendar y rieles

 joya instalar icalendar


 Añadir un método para generar el evento:
require 'icalendar'
clase IcalController <ApplicationController
def iCalEvent
@myevent = Event.find (params [: id])
@cal = icalendar :: Calendar.new
evento = icalendar :: Event.new
event.start = @ myevent.starts_at.strftime ( "% Y% m% dT% H% M% S")
event.end = @ myevent.ends_at.strftime ( "% Y% m% dT% H% M% S")
event.summary = @ myevent.name
event.description = @ myevent.description
event.location = @ myevent.location
@ Evento cal.add
@ cal.publish
cabeceras [ 'Content-Type'] = "text / calendario; charset = UTF-8"
render_without_layout: text => @ cal.to_ical
fin
fin
RSS y rieles

 Crear un nuevo controlador de alimentación


RssFeed def
condiciones = [ 'MES (starts_at) =?', Time.now.month]
@events = Event.find (: todos,: condiciones => condiciones,: orden
=> "starts_at",: límite => 15)
@headers [ "Content-Type"] = "application / rss + xml"
fin

 Crear una vista rssfeed.rxml

 Añadir una etiqueta enlace a standard.rhtml


<% = Auto_discovery_link_tag (: RSS, {: controller => 'alimentación',: action
=> 'RSSFeed'})%>
AJAX y rieles

 Añadir Javascript incluyen a standard.rhtml


<% = Javascript_include_tag: valores predeterminados%>

 Añadir al controlador de eventos


auto_complete_for: acontecimiento,: ubicación

 asistente de formulario
<% = Text_field_with_auto_complete: evento,: ubicación%>
Resumen

 dos principios rectores de ferrocarril:


– Menos de software (No te repitas - SECO)
– Convención sobre configuración (Escribir código no los archivos de
configuración)
 Alta productividad y menor tiempo de desarrollo
– ¿Cuánto tiempo se tarda?
– ¿Cuántas líneas de código?
> estadísticas de rake
– No se olvide de la documentación ...
> Appdoc rastrillo

 Nuestra experiencia hasta ahora.

 A menos que se intenta hacer algo más allá de lo que ya domina, nunca
crecerá. - Ralph Waldo Emerson
Recursos Rails
 Libros
– Agile Web Development con Rails -Thomas / DHH
– Programación Ruby - Thomas
 sitios web
– Lenguaje ruby
http://www.ruby-lang.org/en/
– Ruby on Rails
http://www.rubyonrails.org/
– raíles API
• Iniciar el Servidor de Documentación de la gema
Gem_server http: // localhost: 8808
– Top Tutoriales
http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials
– MVC paradigma arquitectónico
http://en.wikipedia.org/wiki/Model-view-controller
http://java.sun.com/blueprints/patterns/MVC-detailed.html
David Heinemeier Hansson (Ruby on Rails creador) explicó: "Una vez que usted ha
intentado desarrollar una aplicación sustancial en Java o PHP o C # o lo que sea",
dice, "la diferencia en Rails será fácilmente evidente. Tienes que sentir el dolor antes
se puede apreciar la cura ".

También podría gustarte