Manipulação CRUD Gerado Pelo Scaffold

117 views
Skip to first unread message

Adriano Dias da Silva

unread,
Jul 4, 2010, 3:09:50 PM7/4/10
to rails-br
Boa tarde.

Tenho duas dúvidas:

Primeira dúvida:
Pode ser definido na hora que estou gerando o scaffold o tamanho de
uma string?
Por exemplo nome:string(50)?


Segunda dúvida:
Gostaria de saber como prosseguir corretamente para incluir novos
campos apartir de um CRUD gerado pelo scaffold.

Exemplo:

Primeiro passo (eu utilizo):
script/generate scaffold Usuario nome:string login:string

Segundo passo (quero adicionar o campo "senha:string" no CRUD Usuario,
sendo este campo senha um varchar de 50 caracteres):
Problema --- >>> Não sei fazer essa modificação para adicionar um novo
campo.

Caso tenham algum tutorial disponibilize, ou, por favor especifique
passo-a-passo como proceder.


Best Regards...
Adriano Dias da Silva

Ivan H. Schuster

unread,
Jul 4, 2010, 3:46:44 PM7/4/10
to rail...@googlegroups.com
http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials

Ivan

Adriano Dias da Silva escreveu:
> Boa tarde.
>
> Tenho duas d�vidas:
>
> Primeira d�vida:


> Pode ser definido na hora que estou gerando o scaffold o tamanho de
> uma string?
> Por exemplo nome:string(50)?
>
>

> Segunda d�vida:


> Gostaria de saber como prosseguir corretamente para incluir novos
> campos apartir de um CRUD gerado pelo scaffold.
>
> Exemplo:
>
> Primeiro passo (eu utilizo):
> script/generate scaffold Usuario nome:string login:string
>
> Segundo passo (quero adicionar o campo "senha:string" no CRUD Usuario,
> sendo este campo senha um varchar de 50 caracteres):

> Problema --- >>> N�o sei fazer essa modifica��o para adicionar um novo

Adriano Dias da Silva

unread,
Jul 4, 2010, 4:25:54 PM7/4/10
to rails-br
Boa tarde pessoal.

Procurando na net achei um ótimo tutorial para resolver a segunda
dúvida, segue abaixo:

http://headfirstrails.clanteam.com/blog/category/rails

Fica faltando apenas a primeira dúvida:
Pode ser definido na hora que estou gerando o scaffold o tamanho de
uma string?
Por exemplo nome:string(50)?

Obrigado Ivan pelo post.

Best Regards
Adriano Dias da Silva

On 4 jul, 16:46, "Ivan H. Schuster" <ihschus...@gmail.com> wrote:
> http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tuto...

Adriano Dias da Silva

unread,
Jul 4, 2010, 9:16:10 PM7/4/10
to rails-br
Boa noite pessoal.

Consegui definir os atributos do banco de dados que eu precisava.
É necessário gerar o scaffold normalmente e depois acessar o migrate
que foi gerado em db/migrate/nome_migrate.rb,
adicionando os dados necessários, por exemplo:

O scaffold por padrão gera o seguinte migrate:

class CreateUsuarios < ActiveRecord::Migration
def self.up
create_table :usuarios do |t|
t.string :nome
t.string :login
t.string :senha
t.string :email

t.timestamps
end
end

def self.down
drop_table :usuarios
end
end

Então é só alterar o migrate como necessário, adicionando valor
default, not null, tamanho do campo, etc.
Como segue abaixo:

class CreateUsuarios < ActiveRecord::Migration
def self.up
create_table :usuarios do |t|
t.string :nome, :null => false
t.string :login, :limit => 30
t.string :senha, :limit => 30
t.string :email

t.timestamps
end
end

def self.down
drop_table :usuarios
end
end


Best Regards...
Adriano Dias da Silva


Paulo Pessoa

unread,
Jul 5, 2010, 11:00:31 AM7/5/10
to rail...@googlegroups.com
tb pode usar assim: 

 create_table :usuarios do |t|
     t.column :nome, :string, :option=>...


     Available options are (none of these exists by default):
  • :limit - Requests a maximum column length. This is number of characters for :string and :text columns and number of bytes for :binary and :integer columns.
  • :default - The column's default value. Use nil for NULL.
  • :null - Allows or disallows NULL values in the column. This option could have been named :null_allowed.
  • :precision - Specifies the precision for a :decimal column.
  • :scale - Specifies the scale for a :decimal column.

2010/7/4 Adriano Dias da Silva <ti.adr...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/rails-br?hl=pt-BR.


Reply all
Reply to author
Forward
0 new messages