Upload
newbu
View
2.045
Download
1
Embed Size (px)
Citation preview
RubyRails
Apéndice
Ruby on RailsUna breve introducción
Mancuso Emiliano
www.elBlogolico.com.ar
2009
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Contenidos del curso
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Contenidos del curso
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Que es
I Ruby es un lenguaje de programaciónI Orientado a objetosI InterpretadoI Reflexivo
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Que es
I Ruby es un lenguaje de programaciónI Orientado a objetosI InterpretadoI Reflexivo
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Que es
I Ruby es un lenguaje de programaciónI Orientado a objetosI InterpretadoI Reflexivo
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Que es
I Ruby es un lenguaje de programaciónI Orientado a objetosI InterpretadoI Reflexivo
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosLas variables siempre son referencias a objetos, no los objetos mismos
I Soporte herencia
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
I Enlace DinámicoI Mixins
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
I Enlace DinámicoI Librerias enlazadas en ejecuciónI Más livianoI Evita duplicación de código
I Mixins
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
I Enlace DinámicoI Librerias enlazadas en ejecuciónI Más livianoI Evita duplicación de código
I Mixins
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
I Enlace DinámicoI Librerias enlazadas en ejecuciónI Más livianoI Evita duplicación de código
I Mixins
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
I Enlace DinámicoI Mixins
Como las interfaces, pero con su implementación
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Ventajas
I Referencia a objetosI Soporte herencia
I Enlace DinámicoI Mixins
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Otras ventajas
I MetaprogramaciónI HilosI Tipificado dinánmicoI Expresiones regularesI Garbage collector automáticoI Sintaxis simple
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Otras ventajas
I MetaprogramaciónI HilosI Tipificado dinánmicoI Expresiones regularesI Garbage collector automáticoI Sintaxis simple
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Otras ventajas
I MetaprogramaciónI HilosI Tipificado dinánmicoI Expresiones regularesI Garbage collector automáticoI Sintaxis simple
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Otras ventajas
I MetaprogramaciónI HilosI Tipificado dinánmicoI Expresiones regularesI Garbage collector automáticoI Sintaxis simple
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Otras ventajas
I MetaprogramaciónI HilosI Tipificado dinánmicoI Expresiones regularesI Garbage collector automáticoI Sintaxis simple
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Otras ventajas
I MetaprogramaciónI HilosI Tipificado dinánmicoI Expresiones regularesI Garbage collector automáticoI Sintaxis simple
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Desventajas
I No soporta polimorfismo de funciones (sobrecarga)I No es tipado fuerteI Interpretado = Lento
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Desventajas
I No soporta polimorfismo de funciones (sobrecarga)I No es tipado fuerteI Interpretado = Lento
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Desventajas
I No soporta polimorfismo de funciones (sobrecarga)I No es tipado fuerteI Interpretado = Lento
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esVentajasDesventajasEjemplos
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Que es Rails
I Framework de aplicaciones web escrito en RubyI Paradigma MVC
I ModeloI VistaI Controlador
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Que es Rails
II Framework de aplicaciones web escrito en RubyI Paradigma MVC
I ModeloI VistaI Controlador
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Que es Rails
II Framework de aplicaciones web escrito en RubyI Paradigma MVC
I ModeloClases que representan el modelo en la base de datos
I VistaI Controlador
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Que es Rails
II Framework de aplicaciones web escrito en RubyI Paradigma MVC
I ModeloI Vista
Interfaz de usuario. Datos del controladorI Controlador
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Que es Rails
II Framework de aplicaciones web escrito en RubyI Paradigma MVC
I ModeloI VistaI Controlador
Eventos, acciones, cambios en el modelo
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Que es Rails
II Framework de aplicaciones web escrito en RubyI Paradigma MVC
I ModeloI VistaI Controlador
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Filosofía
II DRY Don’t Repeat YourselfI Convention Over ConfigurationI REST
Es un mal hábito volver a escribir el mismo código
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Filosofía
II DRY Don’t Repeat YourselfI Convention Over ConfigurationI REST
Rails supone que queres hacer y como lo vas a hacer.No te preocupes por la configuración.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Filosofía
II DRY Don’t Repeat YourselfI Convention Over ConfigurationI REST
Patrón de diseno para aplicaciones web.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Filosofía
II DRY Don’t Repeat YourselfI Convention Over ConfigurationI REST
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Maneja los controladores de la aplicación.Procesa peticiones, extrae parametros, ejecuta.
Ejemplo: gestion de sesiones, template rendering, etc.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Maneja las vistas de la aplicación.Puede crear HTML y XML.
Incluye soporte para AJAX built-in.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Base de los modelos de datos.
Provee independencia de la DB, funcionalidad básica CRUD, capacidad avanzada de
búsqueda, relaciona modelos, etc.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Framework para crear servicios de e-mail.
Se puede usar para enviar, recibir y procesar e-mails.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Framework para gestionar la conexión entre objetos de negocio y RESTful webservices.
Implementa el mapeo entre estos, con la semántica CRUD.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Código del núcleo de Rails que crea nuevas aplicaciones y las conecta con los
frameworks en una sola aplicación.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Gran colección de clases y extensiones de la biblioteca estandar de Ruby, que usa
Rails tanto el núcleo como tus aplicaciones.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Para la creación de aplicaciones web
II Action ControllerI Action ViewI Active RecordI Action MailerI Active ResourceI RailtiesI Active Support
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Hablemos sobre..
RubyQue esVentajasDesventajasEjemplos
RailsQue esComponentesAplicación en Rails
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Antes de empezar..
Necesitamos tener instaladoII RubyI RubyGems
I Rails gem install railsI SQLite gem install sqlite3-ruby
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Antes de empezar..
Necesitamos tener instaladoI RubyI RubyGems
I Rails gem install railsI SQLite gem install sqlite3-ruby
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Antes de empezar..
Necesitamos tener instaladoI RubyI RubyGems
I Rails gem install railsI SQLite gem install sqlite3-ruby
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Antes de empezar..
Necesitamos tener instaladoI RubyI RubyGems
I Rails gem install railsI SQLite gem install sqlite3-ruby
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
I Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
mkdir ∼/railsApps
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
rails blogolicoApp
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
cd ∼/railsApps/blogolicoApp
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
rake db:create
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
ruby script/generate controller saludo index
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
vi ./app/views/saludo/index.html.erb
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
<h1>Hola Blogolico, esto es Rails!</h1>
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
ruby script/server
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
firefox http://localhost:3000/saludo/index
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Primer aplicación
II Creamos el directorio para nuestras aplicacionesI Creamos nuestra aplicacion railsI Accedemos al directorioI Creamos la base de datosI Creamos el controlador para saludarI Editamos la vista del controladorI Agregamos el codigo del saludo en el indexI Arrancamos el servidor, junto con la aplicaciónI Abrimos un navegador, con la dirección del servidor
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Aplicación funcionando
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
Partimos de nuestra reciente aplicaciónII Como segunda aplicación vamos a crear un BlogI Agregar, Editar, Mostrar y Borrar postsI Scaffold
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
Partimos de nuestra reciente aplicaciónII Como segunda aplicación vamos a crear un BlogI Agregar, Editar, Mostrar y Borrar postsI Scaffold
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
Partimos de nuestra reciente aplicaciónII Como segunda aplicación vamos a crear un BlogI Agregar, Editar, Mostrar y Borrar postsI Scaffold
Forma rápida de generar algunas de las principales piezas de una aplicación.Modelos, vistas, controladores.
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
Partimos de nuestra reciente aplicaciónII Como segunda aplicación vamos a crear un BlogI Agregar, Editar, Mostrar y Borrar postsI Scaffold
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
II Generamos la clase PostI Aplicamos los cambios en la base de datosI Agregamos un link hacia el blogI Entramos a nuestra aplicaciónI Accedemos al Blog
ruby script/generate scaffold Post name:string title:string content:text
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
II Generamos la clase PostI Aplicamos los cambios en la base de datosI Agregamos un link hacia el blogI Entramos a nuestra aplicaciónI Accedemos al Blog
rake db:migrate
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
II Generamos la clase PostI Aplicamos los cambios en la base de datosI Agregamos un link hacia el blogI Entramos a nuestra aplicaciónI Accedemos al Blog
echo ’<%= link_to "El Blog", posts_path %>’ >> app/saludo/index.html.erb
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
II Generamos la clase PostI Aplicamos los cambios en la base de datosI Agregamos un link hacia el blogI Entramos a nuestra aplicaciónI Accedemos al Blog
firefox http://localhost:3000/saludo/index
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
II Generamos la clase PostI Aplicamos los cambios en la base de datosI Agregamos un link hacia el blogI Entramos a nuestra aplicaciónI Accedemos al Blog
click en el link El Blog
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Segunda aplicación
II Generamos la clase PostI Aplicamos los cambios en la base de datosI Agregamos un link hacia el blogI Entramos a nuestra aplicaciónI Accedemos al Blog
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Que esComponentesAplicación en Rails
Aplicación funcionando
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Ruby
II http://www.ruby-lang.org/es/
I http://www.ruby-doc.org/core/
I http://www.rubular.com/
I http://shoooes.net/
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Ruby
I http://www.ruby-lang.org/es/
I http://www.ruby-doc.org/core/
I http://www.rubular.com/
I http://shoooes.net/
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Ruby
I http://www.ruby-lang.org/es/
I http://www.ruby-doc.org/core/
I http://www.rubular.com/
I http://shoooes.net/
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Ruby
I http://www.ruby-lang.org/es/
I http://www.ruby-doc.org/core/
I http://www.rubular.com/
I http://shoooes.net/
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Rails
I http://rubyonrails.org/
I http://wiki.rubyonrails.org/
I http://railscasts.com/
I http://guides.rubyonrails.org/index.html
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Rails
I http://rubyonrails.org/
I http://wiki.rubyonrails.org/
I http://railscasts.com/
I http://guides.rubyonrails.org/index.html
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Rails
I http://rubyonrails.org/
I http://wiki.rubyonrails.org/
I http://railscasts.com/
I http://guides.rubyonrails.org/index.html
Mancuso Emiliano Ruby on Rails
RubyRails
Apéndice
Links RubyLinks Rails
Links Rails
I http://rubyonrails.org/
I http://wiki.rubyonrails.org/
I http://railscasts.com/
I http://guides.rubyonrails.org/index.html
Mancuso Emiliano Ruby on Rails