Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Sobre o Ruby Como instalar Algumas estruturas da linguagem Sobre o Rails Como instalar Algumas Caractersticas do framework Primeiro CRUD Associaes Segundo CRUD
http://rubyinstaller.org/download.html
Em Ruby tudo OO
[tulios] ~ irb >> 12.class => Fixnum >> true.class => TrueClass >> nil.class => NilClass >> "Tulio".class => String
Em Java
Java
10
Analisando
- No necessrio denir o tipo de retorno - No necessrio utilizar parnteses ().
11
Construtor e sobrecarga do
construtor
13
14
16
17
18
19
Herana
20
Testando a herana
[tulios] ~/Desktop irb >> require 'user' => true >> Person.superclass => Object >> User.superclass => Person >> User.superclass.superclass => Object
21
Loops - for
23
Exerccio
24
Exerccio
Soluo
25
26
27
28
Array e Hash
29
Excees
30
Classes abertas
31
http://www.pragprog.com
32
O que o Rails?
33
Rails
Rails - composio
O Rails a juno de 5 frameworks - Active Record (ORM) - Action Pack (MVC) - Action Mailer - Active Support - Active Resource - Action WebServices (1.2.6)
35
Rails - instalando
36
Rails - instalando
gem install rails Vamos utilizar o SQLite3 - gem install sqlite3-ruby (driver)
37
Rails - instalando
Vericando a instalao
[tulios] ~ gem list *** LOCAL GEMS *** actionmailer (2.3.5, 2.3.3, 2.3.2, 2.2.2, 1.3.6) actionpack (2.3.5, 2.3.3, 2.3.2, 2.2.2, 1.13.6) actionwebservice (1.2.6) activerecord (2.3.5, 2.3.3, 2.3.2, 2.2.2, 1.15.6) activeresource (2.3.5, 2.3.3, 2.3.2, 2.2.2) activesupport (2.3.5, 2.3.3, 2.3.2, 2.2.2, 1.4.4) rack (1.0.0) rails (2.3.5, 2.3.3, 2.3.2, 2.2.2, 1.2.6) rake (0.8.7, 0.8.3) sqlite3-ruby (1.2.5, 1.2.4) [tulios] ~ rails -v Rails 2.3.5 [tulios] ~ sqlite3 --version 3.6.12
38
[tulios] ~/exemplo/bug_tracking ruby script/server => Booting Mongrel => Rails 2.3.4 application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server
40
Pgina de incio
41
Rails - o projeto
Rails - scripts
Generate - Cria uma estrutura bsica para o modelo Server - Inicia o servidor da aplicao Modo de usar: - ruby script/generate <parmetros> - ruby script/server <parmetros>
43
Rake
44
Rails - o projeto
45
Rails - o projeto
46
Rails - 1 CRUD
ruby script/generate scaffold project name:string description:text owner:string Os atributos do modelo so passados no script
47
Rails - 1 CRUD
Sada do scaffold
exists app/models/ exists app/controllers/ exists app/helpers/ create app/views/projects exists app/views/layouts/ ... create db/migrate create db/migrate/20091018202745_create_projects.rb
Rails - 1 CRUD
Rails - 1 CRUD
50
Rails - 1 CRUD
Sada do db:migrate
[tulios] ~ exemplo/bug_tracking rake db:migrate (in /Users/tulios/Documents/SEA/Palestras/Rails/exemplo/bug_tracking) == CreateProjects: migrating ============================== -- create_table(:projects) -> 0.0016s == CreateProjects: migrated (0.0017s) =======================
51
Rails - 1 CRUD
Acesse - http://localhost:3000/projects
52
Rails - 1 CRUD
2009/10/18 20:27:45
53
Rails - 1 CRUD
Cdigo da migration
54
Rails - 1 CRUD
Cdigo do modelo
Rails - 1 CRUD
Active Record Vejamos alguns mtodos herdados - save - nd(id) - nd(:all) / (:rst) / (:last)
Parmetros opcionais:
:conditions, :join, :order, :limit, :offset, :select, :readonly, :from, :group, :lock ...
56
Rails - 1 CRUD
Rails - 1 CRUD
Rails - 1 CRUD
Rails - 1 CRUD
60
Rails - 1 CRUD
61
Rails - 1 CRUD
Params um hash do Rails que possui todos os atributos do request. :id o identicador do atributo id
62
Rails - 1 CRUD
63
Rails - 1 CRUD
64
Rails - 1 CRUD
na prxima requisio, por isso ele muito til em guardar mensagens de sucesso, erro, etc.
65
Rails - 1 CRUD
66
Rails - 1 CRUD
67
Rails - 1 CRUD
68
Rails - 1 CRUD
Views
Nesse caso temos um layout para o controlador projects, mas poderiamos ter apenas um layout para aplicao toda. application.html.erb
69
Rails - 1 CRUD
projects.html.erb
70
Rails - 1 CRUD
Rails - 1 CRUD
index.html.erb
<% para executar algum comando e <%= para escapar algum valor
72
Rails - 1 CRUD
Mtodo helper H
No permite a execuo do html armazenado
Caso contrrio
73
Rails - 1 CRUD
74
Rails - 1 CRUD
Vamos incrementar o modelo Vamos utilizar: - validates_ O que vamos validar: - nome ser obrigatrio, maior que 5 e
menor que 50
Rails - 1 CRUD
76
Rails - 1 CRUD
Resultado
77
Rails - 1 CRUD
78
Rails - 1 CRUD
Validao personalizada
79
Rails
80
Rails
81
Rails
82
Rails - 2 CRUD
83
Rails - 2 CRUD
84
Rails - 2 CRUD
85
Rails - 2 CRUD
86
Rails - 2 CRUD
Vamos criar rotas relacionadas - cong/routes.rb - A rota direta para bug foi removida
http://localhost:3000/projects/5/bugs/new
87
Rails - 2 CRUDO
88
Rails - 2 CRUD
project/show.html.erb
89
Rails - 2 CRUD
90
Rails - 2 CRUD
91
Rails - 2 CRUD
92
Rails - 2 CRUD
93
Rails - 2 CRUD
projects/show.html.erb
94
Rails - 2 CRUD
95
http://www.pragprog.com http://www.urubatan.com.br
96
97
P&R