Depois de apanhar um pouquinho com o meu amigo Vinicius, acostumei com algumas novidades do Rails 2.0:
O MySQL não é mais o padrão para estrutura básica do projeto, e sim o SqlLite. Então preste atenção ao criar um novo projeto. Se quiser colocar o MySQL como padrão use:
rails [nome_do_projeto] -d mysql
No lugar do
mysql pode ser qualquer adaptador, como
oracle, por exemplo.
Lembre-se de usar o
generate scaffold com a declaração dos atributos, assim já são criados as migrates da forma correta, o comando é:
ruby script/generate scaffold nome_do_modulo atributo:tipo
exemplo:
ruby script/generate scaffold tasks title:string check:boolean
isso gera a seguinte migrate:
class CreateTasks < ActiveRecord::Migration
def self.up
create_table :tasks do |t|
t.string :title
t.boolean :check
t.timestamps
end
end
def self.down
drop_table :tasks
end
end
O
t.timestamp gera os campos
created_at e
updated_at no banco.
Não precisamos mais criar o banco via SQL. Para o Rails criar o banco baseado no
database.yml use:
rake db:create:all
Para chamar um controller padrão podemos usar duas sintaxes no routes.rb :
map.root :controller => "nome_do_controller"
ou
map.connect '', :controller => "nome_do_controller"
Isso não é novo, apenas um outra sintax, e não esqueça de apagar o
/public/index.html.