Sinopse
Escrito por grandes especialistas em Ruby e Rails, este é um livro indispensável para quem trabalha com aplicativos Web. Ao utilizar o Ruby on Rails (ou RoR, como também é conhecido), o desenvolvedor pode se concentrar na produção dos aplicativos mais eficientes e completos, pois os cuidados ficam todos por conta do Rails
Sumário
1 Introdução
1.1 O Rails é ágil
1.2 Explorando o conteúdo
1.3 Agradecimentos
Parte I
Introdução
2 A Arquitetura dos Aplicativos Rails
2.1 Modelos, visualizações e controladores
2.2 Active Record: Suporte ao modelo Rails
2.3 Action Pack: A visão e o controlador
3 Instalando o Rails
3.1 Sua lista de compras
3.2 Instalando no Windows
3.3 Instalando no Mac OS X
3.4 Instalando no Linux
3.5 Ambientes de desenvolvimento
3.6 O Rails e bancos de dados
3.7 Mantendo-se atualizado
3.8 O Rails e os provedores de acesso
4 Satisfação Imediata
4.1 Criando um novo aplicativo
4.2 Hello, Rails!
4.3 Criando links entre páginas
4.4 O que fizemos
Parte II
Construindo um Aplicativo
5 O Aplicativo Depot
5.1 Desenvolvimento incremental
5.2 O que o Depot faz
5.3 Vamos codificar
6 Tarefa A: Manutenção de Produto
6.1 Iteração A1: Colocando algo em execução
6.2 Iteração A2: Adicione uma coluna ausente
6.3 Iteração A3: Valide!
6.4 Iteração A4: Listagens mais bonitas
7 Tarefa B: Exibição de Catálogo
7.1 Iteração B1: Crie a listagem de catálogo
7.2 Iteração B2: Adicione um layout de página
7.3 Iteração B3: Utilize um helper para formatar o preço
7.4 Iteração B4: Criação de um link para um carrinho de compras
8 Tarefa C: Criação de um Carrinho de Compras
8.1 Sessões
8.2 Iteração C1: Criando um carrinho de compras
8.3 Iteração C2: Um carrinho de compras mais inteligente
8.4 Iteração C3: Tratando erros
8.5 Iteração C4: Finalizando o carrinho de compras
9 Tarefa D: Adicione uma Pitada de AJAX
9.1 Iteração D1: Mover o carrinho de compras
9.2 Iteração D2: Um carrinho de compras baseado no AJAX
9.3 Iteração D3: Destacar alterações
9.4 Iteração D4: Oculte um carrinho de compras vazio
9.5 Iteração D5: Degradar se o JavaScript estiver desativado
9.6 O que fizemos
10 Tarefa E: Finalize a Compra!
10.1 Iteração E1: Capturar um pedido
11 Tarefa F: Administração
11.1 Iteração F1: Adicionando usuários
11.2 Iteração F2: Efetuando login
11.3 Iteração F3: Limitando o acesso
11.4 Iteração F4: Um quadro lateral, mais administração
12 Tarefa G: Uma Última Pequena Alteração
12.1 Gerando o Feed XML
12.2 Finalizando
13 Tarefa T: Testando
13.1 Testes integrados no framework
13.2 Teste de unidade dos modelos
13.3 Teste funcional dos controladores
13.4 Teste de integração dos aplicativos
13.5 Teste de desempenho
13.6 Utilizando objetos simulados
Parte III
A Estrutura do Rails
14 Rails Analisado em Detalhes
14.1 Então, onde está o Rails?
14.2 Estrutura de diretório
14.3 Configuração do Rails
14.4 Convenção para atribuição de nomes
14.5 Efetuando o logon no Rails
14.6 Dicas de depuração
14.7 O que vem a seguir
15 Active Support
15.1 Extensões geralmente disponíveis
15.2 Enumerações e arrays
15.3 Extensões de strings
15.4 Extensões para números
15.5 Extensões de data e hora
15.6 Uma extensão para os símbolos do Ruby
15.7 with_options
15.8 Suporte Unicode
16 Migrações
16.1 Criando e executando migrações
16.2 Anatomia de uma migração
16.3 Gerenciando tabelas
16.4 Migrações de dados
16.5 Migrações avançadas
16.6 Quando migrações não funcionam
16.7 Manipulação de esquema fora das migrações
16.8 Gerenciando migrações
17 Active Record, Parte I: Princípios Básicos
17.1 Tabelas e classes
17.2 Colunas e atributos
17.3 Chaves primárias e IDs
17.4 Conectando-se ao banco de dados
17.5 CRUD – Create, Read, Update, Delete
17.6 Agregação e dados estruturados
17.7 Miscelânea
18 Active Record, Parte II:Relacionamentos Entre Tabelas
18.1 Criando chaves estrangeiras
18.2 Especificando relacionamentos nos modelos
18.3 Declarações belongs_to e has_xxx
18.4 Junção de múltiplas tabelas
18.5 Junções auto-referenciais
18.6 Acts As
18.7 Quando as coisas são salvas
18.8 Pré-carregando linhas filhas
18.9 Contadores
19 Active Record, Parte III:Ciclo de Vida de um Objeto
19.1 Validação
19.2 Retornos de chamada .
19.3 Atributos avançados
19.4 Transações
20 Action Controller: Roteamento e URLs
20.1 Princípios básicos
20.2 Requisições de roteamento
21 O Action Controller e o Rails
21.1 Métodos de ação
21.2 Cookies e sessões
21.3 Flash – comunicando-se entre ações
21.4 Filtros e verificação
21.5 Armazenando em cache, Parte 1
21.6 O problema com requisições GET
22 Action View
22.1 Templates
22.2 Utilizando helpers
22.3 Helpers para formatação, links e paginação
22.4 Como formulários funcionam
22.5 Formulários que empacotam objetos de modelo
22.6 Construtores de formulários personalizados
22.7 Trabalhando com campos não de modelo
22.8 Upload de arquivos para aplicativos Rails
22.9 Layouts e componentes
22.10 Armazenando em cache, Parte 2
22.11 Adicionando novos sistemas de template
23 A Web, V2.0
23.1 Prototype23.2 Script.aculo.us
23.3 Templates RJS
23.4 Conclusão
24 Action Mailer
24.1 Enviando e-mail
24.2 Recebendo e-mail
24.3 Testando e-mail
25 Web Services no Rails
25.1 O que é AWS (e o que não é)
25.2 A definição de API
25.3 Modos de despacho
25.4 Utilizando despachos alternativos
25.5 Interceptação de invocação de método
25.6 Testando Web Services
25.7 Clientes de protocolo
Parte IV
Proteja e Implante seu Aplicativo
26 Mantendo Seguro seu Aplicativo Rails
26.1 Injeção de SQL
26.2 Criando registros diretamente a partir de parâmetros de formulário
26.3 Não confie em parâmetros ID
26.4 Não exponha métodos do controlador
26.5 Cross-Site Scripting (CSS/XSS)
26.6 Evite ataques de fixação de sessão
26.7 Uploads de arquivos
26.8 Não armazene informações sigilosas em texto simples
26.9 Utilize SSL para transmitir informações sigilosas
26.10 Não armazene em cache páginas autenticadas
26.11 Sabendo que a coisa funciona
27 Implantação e Produção
27.1 Iniciando cedo27.2 Como um servidor de produção funciona
27.3 Comparando servidores Web front-end
27.4 Implantações repetíveis com Capistrano
27.5 Configurando um ambiente de implantação
27.6 Verificando um aplicativo instalado
27.7 Tarefas do aplicativo de produção
27.8 Passando para o carregamento e indo além
Parte V
Apêndices
A Introdução ao Ruby
A.1 O Ruby é uma linguagem orientada a objetos
A.2 Nomes do Ruby
A.3 Métodos
A.4 Classes
A.5 Módulos
A.6 Arrays e hashes
A.7 Estruturas de controle
A.8 Expressões regulares
A.9 Blocos e iteradores
A.10 exceções
A.11 Marshaling de objetos
A.12 Ruby interativo
A.13 Idiomas do Ruby
A.14 Documentação RDoc
B Parâmetros de Configuração
B.1 Configuração de primeiro nível
B.2 Configuração do Active Record
B.3 Configuração do Action Controller
B.4 Configuração do Action View
B.5 Configuração do Action Mailer
B.6 Configuração de caso de teste
C Código-fonte
C.1 O aplicativo Depot completo
D Recursos
D.1 Recursos on-line
D.2 Bibliografia