Parte II Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO maximusmano@gmail.com http://www.maxonrails.wordpress.com
Rails - Instalação Windows gem install rails Plataformas Unix sudo gem install rails NetBeans Ferramentas -> Ruby Gem
Rails - Fácil e Rápido
Rails - É o que você quer?
Rails e Twitter
Rails - O que é? Framework para desenvolvimento WEB Completamente escrito em Ruby Mistura de Ruby com HTML (erb) Extraído de um projeto Real Base Camp da 37Signals Máximo possível de abstração Coeso e completo por ter sido extraído de um projeto Real.
Rails Características Convenção ao invés de Configuração Frameworks convencionais necessitam de muita configuração (url, mapeamento e etc...) Ex: Nomeação e posicionamento de arquivos, tabelas, classes, urls, inglês entre outras. Convenção não obrigatória.
Rails Características Utilização de MVC Model, View, Controllers- Modelos, Visões, Controlladores Um tipo de Padrão de Projeto bastante utilizado na de década de 70 em aplicações Desktop Model- Interface de dados View Interface com o Usuário Controller Responsável pela junção das partes e distribuidor de responsabilidades.
Rails - Partes principais União entre Vários outros Micro-Frameworks ActiveRecord Persistência e Mapeamento (ORM) ActivePack Views e Controllers ActiveSupport Utilidades e facilidades ActionMailer Envio e recebimento de E-Mails ActiveResource Serviços WEB via REST
Rails - Por quê usar o Rails? Torna seu Desenvolvimento mais Alegre Foco especifico em Aplicações WEB Feito em Ruby Aumento da Produtividade Facilita o começo. Provê o futuro Comunidade Vibrante Rails-br, RubyOnBr Desenvolvimento Rápido Flexibilidade
Rails - Desvantagens Software com Opinião Criadores desenvolvem com liberdade. Ex: REST Projetos Novos Inserção Corporativas
Rails - Estrutura Models Traduz os dados do banco para a classe. Relacionamentos Diminuição do uso de SQLs ORM Object-Relational Mapping Convencões: Palavras Iniciadas com Maiúsculo Singular Mesmo nome da tabela no plural
Rails - Estrutura Models
Rails - Estrutura Views Mistura de Ruby com HTML (erb) Sem Regras de Negocios <% expressão %> <%= expressão %>
Rails - View
Rails Views - CRUD Usuario New/ Create Index/ Show Edit/ Update Destroy C R U D Create, Retrieve, Update e Delete
Rails - Estrutura Controller Recebe um evento do mundo externo Interage com o modelo mostra a view correspondente à ação. Nosso gerador produz 7 ações padrões para a realização CRUD: New, Create, Index, Edit, Update e Delete.
Rails - Criando um Projeto Convencionalmente >rails nome_do_projeto Desenvolver Sistema de Gestão de Usuário Cadastro de Usuários Cadastro de Grupos Associação de Grupos com Usuários
Rails - Boas Práticas Mantenha-se dentro das Convenções Não se Repita DRY Copiar e Colar Evolua utilizando os próprios recursos do Rails Crie teste
Rails - Executando Covencionalmente script/server NetBeans F6
Rails - Primeiros Passos Configurando Banco de Dados 3 ambientes YML Utilitários script/server script/generate script/console rakes
Rails - Primeiros Passos Scaffold script/generate usuario nome:string endereco:string cpf:integer nascimento:date status:boolean descricao:text Campo id Mapeamento
Rails - Primeiros Passos Migrates Self.up Self.down Atualizando Banco rake bd:migrate Migrar banco de dados
Rails - Primeiros Passos Modelo Criado Não existe NADA! Testando Modelo Não existe NADA!
Rails - Primeiros Passos Modelo Criado Não existe NADA! Testando Modelo
Rails - Primeiros Passos Console Rails
Rails - Primeiros Passos Controllers Rotas Pode haver uma view destinada para cada action Convenção que a view tem o nome da action Convenção para a view index
Rails - Funcionamento
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers Usuario Controller New Edit Index Show Destroy Create Update ERRO!
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails Controllers New Edit Create Update Usuario Controller Index Show Destroy
Rails - Layouts Utilizaçao de layouts Não necessidade de chamar em cada view um layout Yield application.hrml.erb layout administrador Render :action => index, :layout=> especial
Rails Views - Layout New estilo.css Usuario Layout Index Edit Grupo Layout Show