palestra "do php ao rails" - focai
DESCRIPTION
PalestraTRANSCRIPT
Almir 'm3nd3s'Almir 'm3nd3s'http://www.almirmendes.comhttp://www.almirmendes.com
[email protected] [email protected]
http://www.flickr.com/photos/tswicegood/3483353187http://www.flickr.com/photos/bellalago/4874839499/
It's meIt's me
http://www.flickr.com/photos/chealion/2349587639
http://www.flickr.com/photos/rdohms/4103026062
http://www.flickr.com/photos/hlegius/3544338710
Oi!
Por que mudar?Por que mudar?
Agilidade Agilidade
http://www.flickr.com/photos/eriwst/3448608210
10.times { |i| puts i }
10.class=> Fixnum
Dojo Dojo
http://reddevnews.com/articles/2007/11/01/testdriven-development-tdd.aspx
Continuous Integration Continuous Integration
TimeTimeVocê quebrou
o build?
Ufa! Me livrei dessa
GambiarrasGambiarras
http://www.flickr.com
/photos/ricardo_
ferreira/233163
380/
<?<?phpphp
echoecho “2Patos”“2Patos” ++ “1Galinha”“1Galinha” ++
“2Codornas”“2Codornas” ==== “5 Pássaros?”“5 Pássaros?”
?>?>
// // Acredite! Isto resulta em 1 (inteiro)Acredite! Isto resulta em 1 (inteiro)
Mercado Mercado
Então, o que é o tal Então, o que é o tal Ruby on Rails?Ruby on Rails?
A web framework that's optimized for A web framework that's optimized for programmer happiness and sustainable programmer happiness and sustainable productivity. productivity.
http://www.flickr.com/photos/benmillett/306074038
It lets you write beautiful code by It lets you write beautiful code by favoring convention over configuration.favoring convention over configuration.
http://www.flickr.com/photos/arcticpuppy/4784727073
MVCMVC http://www.codinguide.com/2010/04/mvc-pattern.html
Exemplo Exemplo
Imagine que eu precise gerenciar usuários, estes teriam apenas nome e
e-mail.
$ gem install rails
$ rails new meu_projeto
Instala a gem rails
Cria um novo projeto
$ cd meu_projeto
$ rails g model usuario nome:string email:string
Migration Migration
class CreateUsuarios < ActiveRecord::Migration
def self.up
create_table :usuarios do |t|
t.string nome
t.string email
t.timestamps
end
dnd
def self.down
drop_table :usuarios
end
end
Migration Migration
$ rake db:migrate
class Usuario < ActiveRecord::Base
end
Model Model
app/models/usuario.rb
u.save?()
Model Model
E muito mais...
u.update_attributes()
u.destroy()
u.valid?()u.valid?()
u.errors
u.new_record?
u.meu_atributo_x
Usuario.all
Usuario.last(5)
Usuario.find(12)
Usuario.new
Usuario.query
Usuario.first()
class UsuariosController < ApplicationController
def index
@usuarios = Usuario.all
end
end
Controller Controller
app/controllers/usuarios_controller.rb
ViewView
<ul>
<% @usuarios.each do |u| %>
<%= u.nome %>
<% end %>
</ul>
app/views/usuarios/index.html.rb
Action
GemsGems
http://rubygems.org/http://rubygems.org/
Por onde começar?Por onde começar?
http://railsforzombies.org/http://railsforzombies.org/
http://rubyonrails.org/screencasts/rails3http://rubyonrails.org/screencasts/rails3
http://railscasts.com/http://railscasts.com/
http://guides.rubyonrails.org/http://guides.rubyonrails.org/
RailsRumbleRailsRumble
www.rockandrails.com.brwww.rockandrails.com.br
Realização
Almir 'm3nd3s'Almir 'm3nd3s'@m3nd3s@m3nd3shttp://www.almirmendes.comhttp://[email protected]@giran.com.br