ruby on rails: comedia en 3 actos

105
Ruby on Rails: Comedia en 3 actos

Upload: aitor-rey

Post on 27-Jun-2015

994 views

Category:

Technology


0 download

DESCRIPTION

Intro a Rails para no iniciados totalmente básica y vistazo por encima a ActiveRecord.

TRANSCRIPT

Page 1: Ruby on Rails: Comedia en 3 actos

Ruby on Rails:Comedia en 3 actos

Page 2: Ruby on Rails: Comedia en 3 actos

I.PrólogoO de cómo un lenguaje creado en Japón y un framework hecho por un tío danés pueden tener algo que ver con tu vida.

Page 3: Ruby on Rails: Comedia en 3 actos

Linux“..

.Inst

alan

do q

ue e

s ger

undi

o...”

Page 4: Ruby on Rails: Comedia en 3 actos

Windows

http://bitnami.org/stack/rubystack

“...In

stal

ando

que

es g

erun

dio.

..”

Page 5: Ruby on Rails: Comedia en 3 actos

Buenas intros“..

.y se

hiz

o Ru

by...

http://www.humblelittlerubybook.com/

http://www.ruby-lang.org/es/documentation/

Page 6: Ruby on Rails: Comedia en 3 actos

Podéis tener abierto...“..

.y se

hiz

o Ru

by...

http://www.ruby-lang.org/es/documentation/quickstart/

http://railsapi.com/

Page 7: Ruby on Rails: Comedia en 3 actos

“...y

se h

izo

Ruby

...”

Snippetsen Textmate e IRB

Page 8: Ruby on Rails: Comedia en 3 actos

II. Romance O de cómo te puedes enamorar de una tecnología en 30 minutos.

Page 9: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 10: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 11: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

1 # SQLite version 3.x 2 # gem install sqlite3-ruby (not necessary on OS X Leopard) 3 development: 4 adapter: sqlite3 5 database: db/development.sqlite3 6 pool: 5 7 timeout: 5000 8 9 # Warning: The database defined as "test" will be erased and 10 # re-generated from your development database when you run "rake". 11 # Do not set this db to the same as development or production. 12 test: 13 adapter: sqlite3 14 database: db/test.sqlite3 15 pool: 5 16 timeout: 5000 17 18 production: 19 adapter: sqlite3 20 database: db/production.sqlite3 21 pool: 5 22 timeout: 5000

Page 12: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 13: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 14: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Hello, Rails!

Page 15: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 16: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Scaffolding

Page 17: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

” Scaffolding

Page 18: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

”Migration

Page 19: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

”Migration

Page 20: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 21: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Bingo!(revisemos...)

Page 22: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 23: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 24: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 25: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 26: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 27: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 28: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 29: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 30: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 31: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 32: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 33: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 34: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 35: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 36: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

DRY

Page 37: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 38: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 39: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 40: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 41: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 42: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 43: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

Page 44: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

” 1 class CommentsController < ApplicationController 2 def index 3 @post = Post.find(params[:post_id]) 4 @comments = @post.comments 5 end 6 7 def show 8 @post = Post.find(params[:post_id]) 9 @comment = @post.comments.find(params[:id]) 10 end 11 12 def new 13 @post = Post.find(params[:post_id]) 14 @comment = @post.comments.build 15 end 16 17 def create 18 @post = Post.find(params[:post_id]) 19 @comment = @post.comments.build(params[:comment]) 20 if @comment.save 21 redirect_to post_comment_url(@post, @comment) 22 else 23 render :action => "new" 24 end 25 end 26

Page 45: Ruby on Rails: Comedia en 3 actos

“... e

n el

pri

ncip

io re

inab

an la

s tin

iebl

as...

”27 def edit 28 @post = Post.find(params[:post_id]) 29 @comment = @post.comments.find(params[:id]) 30 end 31 32 def update 33 @post = Post.find(params[:post_id]) 34 @comment = Comment.find(params[:id]) 35 if @comment.update_attributes(params[:comment]) 36 redirect_to post_comment_url(@post, @comment) 37 else 38 render :action => "edit" 39 end 40 end 41 42 def destroy 43 @post = Post.find(params[:post_id]) 44 @comment = Comment.find(params[:id]) 45 @comment.destroy 46 47 respond_to do |format| 48 format.html { redirect_to post_comments_path(@post) } 49 format.xml { head :ok } 50 end 51 end 52 53 end

Page 46: Ruby on Rails: Comedia en 3 actos

Intermedio

Page 47: Ruby on Rails: Comedia en 3 actos

III.Tocata y fugaO de cómo lo que parecía una sola cosa es en realidad diferentes partes que funcionan juntas y tienen su propia alma.

Page 48: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

ActiveRecordActionControllerActionViewMigrations

Page 49: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 50: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 51: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 52: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 53: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 54: Ruby on Rails: Comedia en 3 actos

validates_presence_ofvalidates_uniqueness_ofvalidates_associated

etc...

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 55: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 56: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 57: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 58: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 59: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 60: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 61: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 62: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 63: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 64: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 65: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 66: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Relaciones

Page 67: Ruby on Rails: Comedia en 3 actos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 68: Ruby on Rails: Comedia en 3 actos

La manera coñazo:

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 69: Ruby on Rails: Comedia en 3 actos

Rails way:

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 70: Ruby on Rails: Comedia en 3 actos

Tipos

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 71: Ruby on Rails: Comedia en 3 actos

belongs_to

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 72: Ruby on Rails: Comedia en 3 actos

has_one

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 73: Ruby on Rails: Comedia en 3 actos

has_many

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 74: Ruby on Rails: Comedia en 3 actos

has_many :through

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 75: Ruby on Rails: Comedia en 3 actos

has_many :through“..

. sob

re tí

leva

ntar

é m

i igl

esia

...”

Page 76: Ruby on Rails: Comedia en 3 actos

has_many :through como atajo

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 77: Ruby on Rails: Comedia en 3 actos

Polimórficas

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 78: Ruby on Rails: Comedia en 3 actos

Polimórficas

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 79: Ruby on Rails: Comedia en 3 actos

Metodos añadidos por las relaciones“..

. sob

re tí

leva

ntar

é m

i igl

esia

...”

Page 80: Ruby on Rails: Comedia en 3 actos

Metodos añadidos por las relaciones

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 81: Ruby on Rails: Comedia en 3 actos

Callbacks

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 82: Ruby on Rails: Comedia en 3 actos

Callbacks

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 83: Ruby on Rails: Comedia en 3 actos

Extensiones

“... s

obre

tí le

vant

aré

mi i

gles

ia...

Page 84: Ruby on Rails: Comedia en 3 actos

Querys

Page 85: Ruby on Rails: Comedia en 3 actos

Escenario

Page 86: Ruby on Rails: Comedia en 3 actos
Page 87: Ruby on Rails: Comedia en 3 actos
Page 88: Ruby on Rails: Comedia en 3 actos
Page 89: Ruby on Rails: Comedia en 3 actos
Page 90: Ruby on Rails: Comedia en 3 actos
Page 91: Ruby on Rails: Comedia en 3 actos
Page 92: Ruby on Rails: Comedia en 3 actos
Page 93: Ruby on Rails: Comedia en 3 actos
Page 94: Ruby on Rails: Comedia en 3 actos

Migraciones

Page 95: Ruby on Rails: Comedia en 3 actos
Page 96: Ruby on Rails: Comedia en 3 actos
Page 97: Ruby on Rails: Comedia en 3 actos
Page 98: Ruby on Rails: Comedia en 3 actos
Page 99: Ruby on Rails: Comedia en 3 actos
Page 100: Ruby on Rails: Comedia en 3 actos
Page 101: Ruby on Rails: Comedia en 3 actos
Page 102: Ruby on Rails: Comedia en 3 actos
Page 103: Ruby on Rails: Comedia en 3 actos
Page 104: Ruby on Rails: Comedia en 3 actos

Fin y Comienzo