2011-11-20 1 views

risposta

17

Il modo normale per impostare il backup dei dati di default in Rails è con l'aggiunta dei dati in db/seeds.rb:

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

A seconda delle convalide e mettere a punto le caratteristiche che potrebbe essere necessario inserire più campi. Per usare quei dati basta chiamare lo rake db:seed.

rake db:migrate 
rake db:seed 
+2

si può anche aggiungere il codice del tipo: se Rails.env == 'sviluppo' se si dispone di determinate sementi ambiente –

+1

Inoltre, 'rake db: reset' farà un reset completo del database, incluso ri-seme per te. Torna utile. – ardavis

2

Faker è una grande opzione se non si desidera scrivere tutti gli utenti a mano.

Questo faker tutorial mostra come utilizzare la gemma per popolare il db in un'attività di rake relativamente semplice.

+0

Il secondo link è rotto – 0112

1

Aggiunta: il metodo riportato di seguito non funzionerà.

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

Come Devise corre suoi metodi interni, come, 'la generazione di password criptata da password', dopo il 'nuovo' è chiamato per l'utente. Quindi, User.new solleva l'eccezione, dicendo che la password non viene fornita. Invece utilizzare, sia

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