1. Mini-Curso de RubyOnRails Rgis Eduardo Weizenmann Gregol
[email_address]
2. Um desenvolvedor no um poltico, no um religioso. Fazer
afirmaes com desconhecimento de causa um atestado de ignorncia Fbio
Akita. Repensando a Web com Rails (2006).
3. Ruby != Rails
4.
5. A Linguagem Criada pelo japons Yukihiro Matsumoto ou Matz em
1995; Dinmica e interpretada; Influenciada por Perl, Lips e
SmallTalk; Em Ruby, tudo objeto; Todas as classes extend de
Object;
6. A Linguagem Mtodos retornam valor: puts Hello World =>
nil Operao mtodo: eql, exists, extend
7. Caractersticas
Tipos bsicos:
Numeric;
String;
Symbol;
Array;
Hash;
8. Variveis
Locais:
variavel = 1
Instanciadas:
@variavel = Ruby
Classe:
@@classe = Classe (static do Java)
Globais:
$variavel = 900
9. Comparando
public double soma(double a, double b){
return a+b;
}
def soma a,b
a+b
end
10. Instalando o Ruby Windows:
http://rubyforge.org/projects/rubyinstaller Linux: sudo apt-get
install ruby-full Mac OS: sudo gem update --system
12. Instalando Banco de Dados Windows SQlite3:
http://www.sqlite.org/download.html C:system32 dll MySQL:
http://dev.mysql.com/downloads/ Linux: sudo apt-get install
mysql-server
13. O framework Surgiu em 2004, criado por Dave Thomas DRY que
significa Don't Repeat Yourself Scaffold (CRUD)
14. O framework Arquitetura M-V-C
15. O framework Ou meta-framework Composto por: ActiveSupport
ActiveRecord ActionPack ActionMailer ActiveResource
16. ActiveSupport Framework que contm colees de diversas
classes; Extenses de bibliotecas consideradas teis para uma aplicao
em Ruby On Rails
17. ActiveRecord Considerado um framework que contm uma camada
de mapeamento objeto-relacional, entre a aplicao e o banco de
dados
18. ActionPack Framework HTML, XML, Javascripts, e controle de
regras de negcio
19. ActionMailer Framework de recebimento de emails, capaz de
realizar diversas operaes apenas com chamadas de entregas de
correspondncia
20. ActiveResource
RESTful;
Em si define um pequeno conjunto de operaes, as mais
importantes so POST, GET, PUT e DELETE.
21. Servidores e Banco de Dados WEBrick Mongrel Sqlite3 MySQL
Oracle PostgreSQL
22. Scripts About: Informao sobre verso e componentes Console:
Console com o ambiente da aplicao Dbconsole: Console padro do banco
de dados Destroy: Remove cdigo gerado
23. Generate: Gera o cdigo de uma aplicao Plugin:
Instalar/Desinstalar plugins Runner: Automatizar tarefas da aplicao
Server Inicia o servidor de aplicao Scripts
24. Boas Prticas
25. Boas Prticas Convenes Modelos gordos Controllers magros
Nomes de classes em ingls: Ex: Cliente = Customer; Tabelas so
classes no plural: Ex: Classe Customer Tabela customers Chave
primria por conveno: Ex: nome_class_id = customers_id
26. Criando um Projeto rails new Projeto_Meditec d mysql rails
new 'nome do projeto' d (de database) banco de dados
27. Estrutura Projeto
28. Estrutura Projeto app: Onde fica os Controllers, Telas e
Modelos config: configuraes da aplicao, banco, etc db: guarda as
migraes, esquemas e arquivos do banco doc: documentao lib :
arquivos de biblioteca log: os logs do servidor rails public:
arquivos externos (css, js, imagens)
29. Estrutura Projeto Estrutura Projeto Estrutura Projeto
Estrutura Projeto Estrutura Projeto script: scripts do rails (rails
g, rails s) test: arquivos de teste unitrio, funcional tmp:
arquivos temporrios do servidor, informaes de sesso, cache,
migraes, esquemas e arquivos do banco vendor: onde vai os plugins
para a app Gemfile : diretrio onde requerida as gems
30. Gerando um Controller rails generate controller Customer
index new show edit create update destroy
31. Gerando um Modelo rails generate model Customer
35. Rake Rake db:create Comando para criar a base de dados Rake
db:migrate Comando para migrar a base de dados Rake db:destroy
Comando para destruir a base de dados
36. Partials "contacts" %>
37. Form_Helpers Abaixo, uma lista dos FormHelpers disponveis:
check_box fields_for file_field form_for hidden_field label
password_field radio_button text_area text_field E uma lista dos
FormTagHelpers: check_box_tag field_set_tag file_field_tag form_tag
hidden_field_tag image_submit_tag password_field_tag
radio_button_tag select_tag submit_tag text_area_tag text_