2011-11-20 24 views

Respuesta

17

La forma más habitual establecer los datos por defecto de Rails es mediante la adición de los datos en db/seeds.rb:

user1 = User.create :name => "User1", :email => "[email protected]", :password => "user123" 

Dependiendo de las validaciones y diseñar funciones que pueda necesitar para entrar en más campos. Para usar esa información, simplemente llame al rake db:seed.

rake db:migrate 
rake db:seed 
+2

también se puede añadir un código como: si el 'desarrollo' Rails.env == si tiene semillas específicas de entorno –

+1

También, 'rake db: reset' va a hacer un restablecimiento completo de la base de datos, incluida la reintroducción para usted. Viene muy bien. – ardavis

2

Faker es una gran opción si no desea escribir todos los usuarios de forma manual.

Este faker tutorial muestra cómo usar la gema para llenar el db en una tarea de rastrillo relativamente simple.

+0

El segundo enlace está roto – 0112

1

Adición: El siguiente método no funcionará.

User.new 
User.name = "Bob" 
User.password = "Bob123" 
User.password_confirmation = "Bob123" 
User.save! ## Exception raised => Password field cannot be blank. 

Como Devise ejecuta sus métodos internos, como, 'la generación de contraseña cifrada de contraseña', después de 'nuevo' se llama en usuario. Por lo tanto, User.new plantea Exception, diciendo que no se proporciona la contraseña. En lugar de utilizar, ya sea

User.create({ :name => "Bob", ... }) # or 
User.new({ :name => "Bob", ... }).save 
Cuestiones relacionadas