Aggiornamento 3: Sembra che questo sia specifico per le fixture in un file .yml.erb - anche se non ho codice basato su modelli, sembra che le fixture in un file yml.erb non vengano caricate. Avere un semplice file .yml funziona. Questo probabilmente non ha nulla a che fare con l'idea di per sé.Come creare proiettori (per un utente di Devise) come yml.erb in rails (4.1.5)?
Nota: vedere Update 3 annotazioni di modifiche rilevanti
ho bisogno di generare gli utenti Devise nella mia applicazione Rails. Ho notato che la cancellazione del database e il caricamento degli apparecchi carica tutti gli altri proiettori, eccetto gli utenti di Devise (Update 3: che si trova in un file .yml.erb).
Ho visto this other thread, ma ho provato tutte le opzioni lì e ancora non sembra caricare i proiettori.
# ../fixtures/users.yml.erb
user1:
email: [email protected]
name: user1
encrypted_password: <%= Devise.bcrypt(User, 'passw0rd!') %>
# also tried encrypted_password: User.new(password_salt: '$2a$10$PoBe1MvkoGJsjMVTEjKqge').send(:password_digest, 'somepassword')
admin: true
E dalla console:
Per cancellare il test db:
$ bundle exec rake db:schema:load RAILS_ENV=test
per caricare i dispositivi in prova db:
$ bundle exec rake db:fixtures:load RAILS_ENV=test
Run rotaie console di prova (non sono stati trovati utenti, ma sono stati caricati altri dispositivi di modello, come l'app):
$ rails c test
Loading test environment (Rails 4.1.5)
irb(main):001:0> User.first
User Load (0.1ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
=> nil
irb(main):002:0> App.first
App Load (0.1ms) SELECT "apps".* FROM "apps" ORDER BY "apps"."id" ASC LIMIT 1
=> #<App id: 953336129,...>
Update 1: provato anche passando password crittografata generata dalla console, ancora nessun record utente vengono trovati:
admin:
email: [email protected]
name: user1
encrypted_password: $2a$04$DR0.2yfWwD8AZlyeXx0gEuk2Qh.cNLF4cir0ZUB1iW7hwQhK/IfcC
admin: true
Update 2: Funziona quando ho rinominare il file infissi per gli utenti. yml. Rinominare in users.yml.erb sembra essere il colpevole. A proposito, lo stesso comportamento è visto (cioè funziona con .yml, ma non con yml.erb) sulla console e da rake test
Grazie, ho aggiornato la questione e dettagli sulla base di ulteriori indagini - sembra questo è legato ai file .yml.erb non caricati, non specifici per l'ideazione. Vedi i miei aggiornamenti nel titolo della domanda e dettagli. – Anand
Sì, non hai bisogno dell'estensione .erb, erb sta lavorando in fixtures anche se sono solo file .yml perché i rails li elaborano tramite ERB prima di caricarli. – kroky
Sì, è così! Sono nuovo per i dispositivi e ho pensato che fosse necessaria un'estensione erb, proprio come i file di visualizzazione contenenti il codice erb. Grazie! Si prega di aggiornare la risposta con questo, e ti darò tutto il buon karma che posso :-) – Anand