+ All Categories
Home > Technology > Presentação-Herminio-CearaOnRails-08-04-09

Presentação-Herminio-CearaOnRails-08-04-09

Date post: 28-May-2015
Category:
Upload: hidenowt
View: 656 times
Download: 1 times
Share this document with a friend
Description:
Apresentação sobre rotas no rails na primeira edição do Ceara On Rails de 2009 que ocorreu na data de 08//04/2009
Popular Tags:
92
Transcript
Page 1: Presentação-Herminio-CearaOnRails-08-04-09
Page 2: Presentação-Herminio-CearaOnRails-08-04-09
Page 3: Presentação-Herminio-CearaOnRails-08-04-09
Page 4: Presentação-Herminio-CearaOnRails-08-04-09
Page 5: Presentação-Herminio-CearaOnRails-08-04-09
Page 6: Presentação-Herminio-CearaOnRails-08-04-09
Page 7: Presentação-Herminio-CearaOnRails-08-04-09
Page 8: Presentação-Herminio-CearaOnRails-08-04-09
Page 9: Presentação-Herminio-CearaOnRails-08-04-09
Page 10: Presentação-Herminio-CearaOnRails-08-04-09
Page 11: Presentação-Herminio-CearaOnRails-08-04-09
Page 12: Presentação-Herminio-CearaOnRails-08-04-09
Page 13: Presentação-Herminio-CearaOnRails-08-04-09
Page 14: Presentação-Herminio-CearaOnRails-08-04-09
Page 15: Presentação-Herminio-CearaOnRails-08-04-09
Page 16: Presentação-Herminio-CearaOnRails-08-04-09
Page 17: Presentação-Herminio-CearaOnRails-08-04-09
Page 18: Presentação-Herminio-CearaOnRails-08-04-09
Page 19: Presentação-Herminio-CearaOnRails-08-04-09
Page 20: Presentação-Herminio-CearaOnRails-08-04-09

URL não mapeada?

Page 21: Presentação-Herminio-CearaOnRails-08-04-09
Page 22: Presentação-Herminio-CearaOnRails-08-04-09
Page 23: Presentação-Herminio-CearaOnRails-08-04-09
Page 24: Presentação-Herminio-CearaOnRails-08-04-09

RESTful

Page 25: Presentação-Herminio-CearaOnRails-08-04-09

REST?

Page 26: Presentação-Herminio-CearaOnRails-08-04-09

Verbos HTTP Ações CRUD

Page 27: Presentação-Herminio-CearaOnRails-08-04-09

Verbos HTTP Ações CRUD

Page 28: Presentação-Herminio-CearaOnRails-08-04-09

Verbos HTTP Ações CRUD

Page 29: Presentação-Herminio-CearaOnRails-08-04-09

Verbos HTTP Ações CRUD

Page 30: Presentação-Herminio-CearaOnRails-08-04-09

Rails on REST

Page 31: Presentação-Herminio-CearaOnRails-08-04-09
Page 32: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photosend

Page 33: Presentação-Herminio-CearaOnRails-08-04-09

URLs e Caminhos

Page 34: Presentação-Herminio-CearaOnRails-08-04-09

URLs e Caminhos

Action_controller_url

http://www.exemplo.com.br/photos

Page 35: Presentação-Herminio-CearaOnRails-08-04-09

URLs e Caminhos

Action_controller_path

http://www.exemplo.com.b /photos

Page 36: Presentação-Herminio-CearaOnRails-08-04-09
Page 37: Presentação-Herminio-CearaOnRails-08-04-09

Customizando Recursos

Page 38: Presentação-Herminio-CearaOnRails-08-04-09

:controller

Page 39: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :controller => “images”end

Page 40: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :controller => “images”end

Page 41: Presentação-Herminio-CearaOnRails-08-04-09

/photos

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :controller => “images”end

Page 42: Presentação-Herminio-CearaOnRails-08-04-09
Page 43: Presentação-Herminio-CearaOnRails-08-04-09

:as

Page 44: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :as => “images”end

Page 45: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :as => “images”end

Page 46: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :as => “images”end

/photos

Page 47: Presentação-Herminio-CearaOnRails-08-04-09
Page 48: Presentação-Herminio-CearaOnRails-08-04-09

/photos

:controller:as

/photos

Page 49: Presentação-Herminio-CearaOnRails-08-04-09

/photos

:controller:as

/photos

Page 50: Presentação-Herminio-CearaOnRails-08-04-09

/photos

:controller:as

/photos

Page 51: Presentação-Herminio-CearaOnRails-08-04-09

:path_names

Page 52: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :path_names => { :new => ‘novo’, :edit => ‘editar’ }

end

Page 53: Presentação-Herminio-CearaOnRails-08-04-09

# config/enviroment.rbRails::Initializer.run do |config|

config.action_controller.resources_path_names{ :new => ‘novo’, :edit => ‘editar’ }

end

Page 54: Presentação-Herminio-CearaOnRails-08-04-09

http://www.example.com.brRaiz do Site ou root(não muda)‏

Page 55: Presentação-Herminio-CearaOnRails-08-04-09

http://www.example.com.br / photos / novocontroller action

Raiz do Site ou root(não muda)‏

Page 56: Presentação-Herminio-CearaOnRails-08-04-09

http://www.example.com.brcontroller action

/ photos / 1 / editar

id

Raiz do Site ou root(não muda)‏

Page 57: Presentação-Herminio-CearaOnRails-08-04-09

aninhada

Page 58: Presentação-Herminio-CearaOnRails-08-04-09

class Magazine < ActiveRecord::Base# has_many é um relacionamentohas_many :ads

end

class Ad < ActiveRecord::Base# belongs_to é um relacionamentobelongs_to :magazine

end

model

Page 59: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :magazines do |magazine|magazine.resources :ads

endend

Page 60: Presentação-Herminio-CearaOnRails-08-04-09

model + routes

Page 61: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :magazines, :has_many => :adsend

Page 62: Presentação-Herminio-CearaOnRails-08-04-09

a url ficaria como?

Page 63: Presentação-Herminio-CearaOnRails-08-04-09

Assim?

http://www.example.com.brcontroller action

/ photos?id=1&editar

id

Raiz do Site ou root(não muda)‏

Page 64: Presentação-Herminio-CearaOnRails-08-04-09

http://www.example.com.brRaiz do Site ou root(não muda)‏

controller action

/ photos / 1 / editar

id

Page 65: Presentação-Herminio-CearaOnRails-08-04-09

E quais as vantagens?controller action

/ photos / 1 / editar

id

Page 66: Presentação-Herminio-CearaOnRails-08-04-09
Page 67: Presentação-Herminio-CearaOnRails-08-04-09

E uma rota aninhada com várias outras?

Page 68: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos do |photo|photo.resource :photographerphoto.resources :publicationsphoto.resources :versions

endend

Page 69: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos do |photo|photo.resource :photographerphoto.resources :publicationsphoto.resources :versions

endend

Lindo! Não?

Page 70: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos do |photo|photo.resource :photographerphoto.resources :publicationsphoto.resources :versions

endend

Não

Page 71: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :photos, :has_one => :photographer,:has_many => [ :publications, :versions ]

end

Lindo!

Page 72: Presentação-Herminio-CearaOnRails-08-04-09

Uma rota aninhada dentro de outra rota aninhada?

Page 73: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :publishers do |publisher|publisher.resources :magazines do |magazine|

magazine.resources :photosend

endend

Page 74: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :publishers do |publisher|publisher.resources :magazines do |magazine|

magazine.resources :photosend

endend

_path: /publishers/1/magazines/2/photos/3

Page 75: Presentação-Herminio-CearaOnRails-08-04-09

:shallow

Page 76: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.resources :publishers, :shallow => true do |publisher|publisher.resources :magazines do |magazine|

magazine.resources :photosend

endend

_path: /publishers/1_path: /publishers/1/magazines_path: /magazines/2_path: /magazines/2/photos_path: /photos/3

Page 77: Presentação-Herminio-CearaOnRails-08-04-09

regular

Page 78: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.connect ‘:controller/:action/:id’map.connect ‘:controller/:action/:id.:format’

end

Page 79: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.connect ‘:controller/:action/:id’map.connect ‘:controller/:action/:id.:format’

end

Page 80: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.connect ‘:controller/texto_estatico/:id’end

Page 81: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.connect ‘photo/:id’, :controller => ‘photos’, :action => ‘show’end

Page 82: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.connect ‘photo/:id’, :controller => ‘photos’, :action => ‘show’,:defaults => { :format => ‘jpg’ }

end

Page 83: Presentação-Herminio-CearaOnRails-08-04-09

nomeada

Page 84: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.logout ‘/logout’, :controller => ‘sessions’, :action => ‘destroy’end

Page 85: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.login ‘/login’, :controller => ‘sessions’, :action => ‘new’,:conditions => { :method => :post }

end

Page 86: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.with_options :controller => ‘photos’ do |photo|photo.delete ‘:id/delete’, :action => ‘delete’photo.edit ‘:id/edit’, :action => ‘edit’

endend

Page 87: Presentação-Herminio-CearaOnRails-08-04-09

padrão

Page 88: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.root :controller => ‘pages’, :action => ‘main’end

Page 89: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.root :controller => ‘pages’, :action => ‘main’end

Page 90: Presentação-Herminio-CearaOnRails-08-04-09

# config/routes.rb ActionController::Routing::Routes.draw do |map|

map.index ‘index’, :controller => ‘pages’, :action => ‘main’map.root :index

end

Page 91: Presentação-Herminio-CearaOnRails-08-04-09

end

Page 92: Presentação-Herminio-CearaOnRails-08-04-09

obrigado!


Recommended