Luiz Arão Araújo Carvalho [email protected] /usuarios usuarios Index GET /usuarios/new...
Transcript of Luiz Arão Araújo Carvalho [email protected] /usuarios usuarios Index GET /usuarios/new...
Luiz Arão Araújo Carvalho
Bacharel em Ciência da Computação
Desenvolvedor RedeSat-TO
http://www.maxonrails.wordpress.com
Parte III
Rails - Revisão Models
Views
Controllers
Configurações
Migrações
Rails - Revisão Criar aplicação
Criar e migrar banco
Gerar scaffold
Utilizando o Console Rails
Rails - Rotas Rotas?
Rails - Rotas
Rails - Rotas Requisição HTTP
GET www.google.com.br
Rails - Rotas
Rails - Rotas
URL Não Mapeada?
Rails - Rotas
Rails - Rotas
Rails - Rotas RESTful – Sistema que seguem a metodologia REST
Rails - Rotas
Verbo URL Controller Action
GET /usuarios usuarios Index
GET /usuarios/new usuarios New
POST /usuarios usuarios Create
GET /usuarios/1 usuarios Show
GET /usuarios/1/edit usuarios Edit
PUT /usuarios/1 usuarios Update
DELETE /usuarios/1 usuarios destroy
map.resources :usuarios
Rails - Rotas
Método URL
usuarios_path ou usuarios_url /usuarios
new_usuarios_path ounew_usuarios_url
/usuarios/new
edit_usuarios_path ouedit_usuarios_url
/usuarios/1/edit
usuarios_path ou usuarios_url /usuarios/1
map.resources :usuarios
Rails - Personalizando Rotas
Verbo URL Controller Action
GET /funcionarios usuarios Index
GET /funcionarios/new usuarios New
POST /funcionarios usuarios Create
GET /funcionarios/1 usuarios Show
GET /funcionarios/1/edit usuarios Edit
PUT /funcionarios/1 usuarios Update
DELETE /funcionarios/1 usuarios Destroy
map.resources :funcionarios, :controller => “usuarios”
Rails - Personalizando Rotas
Verbo URL Controller Action
GET /login sessao new
map.login ‘/login’, :controller => ‘sessions’, :action => ‘new’
Rails - Mapeamento de Rotas Index inicial(temporária)
routes.rb
map.root :controller => 'sessoes', :action => 'new‘
Rails - Validações Similaridade as validações de banco
Validações presentes em código aumenta as possibilidades de manuseio e benefícios.
Mensagens de erro visíveis na interface.
<%= error_messages_for :usuario %>
<%= flash[:notice] %>
Rails - Validações
Rails - Exercício Criar Usuário
Login (String), Senha (String), Nome (String), Endereco(String), e-mail (String), Avaliação (Inteiro), Status(Boolean), Nascimento (Data), Telefone (String).
Validações Todos os campos são obrigatórios Login (Único, Máximo 20 caracteres) Senha (Tamanho 8 caracteres) E-mail ( [email protected] ) Avaliação (de 0 a 10, inteiro) Nascimento (Apenas maiores de 18 anos) Telefone ( (000) 0000-0000 )
Rails - Exercício Criar Menu Simples
Aplicar Layout
Rails - Relacionamento Simplicidade no acesso ao Banco
Similar ao já apresentado nos códigos Ruby
Relacionamento Direto Via Código
Métodos Adicionados dinamicamente
Rails - Relacionamento Projetos x Usuários
Um Usuários possui diversos Projetos
Relação Um pra Muitos (1 x n)
Chave Estrangeira
Rails - Relacionamento Projetos x Usuários
Um Usuários possui diversos Projetos
Relação Um pra Muitos (1 x n)
Chave Estrangeira Id de Usuário em Projeto
Rails - Relacionamento Projetos x Usuários
Um Usuários possui diversos Projetos
Relação Um pra Muitos (1 x n)
Chave Estrangeira Id de Usuário em Projeto
projeto_id
Rails - Relacionamento Projetos
Nome (String) – Necessário, Único
Usuário_id (Integer) : Usuário(Referênces) - Necessário
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Rails - Relacionamento Belongs_to
Projeto_Controller
Views – Projeto – New e Edit
Rails - Relacionamento Belongs_to
Rails - Relacionamento Has_many
Lado contrário do belongs_to
Mesma simplicidade e mesma geração de códigos
Geralmente são utilizados em conjunto
Rails - Relacionamento Has_many
Plural
Rails - Relacionamento Has_many
Rails - Relacionamento Has_many