Sto lavorando per cercare di far funzionare Devise nella mia app Rails. Sono un nuovo utente di Rails. Qual è il modo corretto per aggiungere alcuni utenti predefiniti?Come popolare alcuni utenti predefiniti in Devise?
risposta
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
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.
Il secondo link è rotto – 0112
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
si può anche aggiungere il codice del tipo: se Rails.env == 'sviluppo' se si dispone di determinate sementi ambiente –
Inoltre, 'rake db: reset' farà un reset completo del database, incluso ri-seme per te. Torna utile. – ardavis