Ruby on rails seed.rb未使用默认值正确加载数据
我正在运行rake db:seed,我遇到以下错误:Ruby on rails seed.rb未使用默认值正确加载数据,ruby-on-rails,ruby,database,rake,seed,Ruby On Rails,Ruby,Database,Rake,Seed,我正在运行rake db:seed,我遇到以下错误: -- create_table("users", {:force=>true}) -> 0.0097s -- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true}) -> 0.0009s -- add_index("users", ["reset_password_token"], {:name=>
-- create_table("users", {:force=>true})
-> 0.0097s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true})
-> 0.0009s
-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true})
-> 0.0008s
-- initialize_schema_migrations_table()
-> 0.0029s
DEFAULT USERS
rake aborted!
can't dup NilClass
/Users/shrav/mvhomefront/db/seeds.rb:9:in `dup'
/Users/shrav/mvhomefront/db/seeds.rb:9:in `<top (required)>'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `block in load'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:540:in `load_seed'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active_record/tasks/database_tasks.rb:153:in `load_seed'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active_record/railties/databases.rake:181:in `block (2 levels) in <top (required)>'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active_record/railties/databases.rake:140:in `block (2 levels) in <top (required)>'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => db:setup => db:seed
(See full trace by running task with --trace)
--创建_表(“用户”,{:force=>true})
->0.0097s
--添加索引(“用户”、[“电子邮件”]、{:name=>“电子邮件上的索引用户”、:unique=>true})
->0.0009s
--添加索引(“用户”,[“重置密码\u令牌”],{:name=>“索引用户\u关于重置密码\u令牌”,:unique=>true})
->0.0008s
--初始化\u架构\u迁移\u表()
->0.0029s
默认用户
雷克流产了!
无法复制类
/Users/shrav/mvhomefront/db/seeds.rb:9:in'dup'
/Users/shrav/mvhomefront/db/seeds.rb:9:in`'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active\u support/dependencies.rb:222:in'load'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active\u support/dependencies.rb:222:在“加载中的块”中
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active\u support/dependencies.rb:213:in'load\u dependency'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0/lib/active\u support/dependencies.rb:222:in'load'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/engine.rb:540:in'load_seed'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active\u record/tasks/database\u tasks.rb:153:in'load\u seed'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active\u record/railties/databases.rake:181:in `块(2层)in'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/gems/activerecord-4.0.0/lib/active\u record/railties/databases.rake:140:in `块(2层)in'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/bin/ruby\u noexec\u包装:14:in'eval'
/Users/shrav/.rvm/gems/ruby-2.0.0-p247/bin/ruby\u noexec\u包装:14:in`'
任务:TOP=>db:setup=>db:seed
(通过使用--trace运行任务查看完整跟踪)
这是我的种子
# This file should contain all the record creation needed to seed the database with its default values.
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
#
# Examples:
#
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
# Mayor.create(name: 'Emanuel', city: cities.first)
puts 'DEFAULT USERS'
user = User.find_or_create_by_email :name => ENV['ADMIN_NAME'].dup, :email => ENV['ADMIN_EMAIL'].dup, :password => ENV['ADMIN_PASSWORD'].dup, :password_confirmation => ENV['ADMIN_PASSWORD'].dup
puts 'user: ' << user.name
#此文件应包含为数据库添加默认值所需的所有记录创建。
#然后可以使用rake db:seed加载数据(或者使用db:setup与db一起创建)。
#
#示例:
#
#cities=City.create([{name:'Chicago'},{name:'哥本哈根'}]))
#市长。创建(名字:“伊曼纽尔”,城市:城市。第一)
放置“默认用户”
user=user.find_或create_by_email:name=>ENV['ADMIN_name'].dup,:email=>ENV['ADMIN_email'].dup,:password=>ENV['ADMIN_password'].dup,:password_confirmation=>ENV['ADMIN_password'].dup
当我从Github repo重新克隆并重新启动服务器和rake db:reset时,出于某种原因放置“user:”。成功了。天神?抱歉,我真的不知道它为什么开始工作。您确定所有引用的变量都在ENV
哈希中设置了吗?您的一个或多个环境变量似乎是nil
?如果这是可以接受的,您可以执行ENV['MY_ENV_VAR']。尝试(:dup)
,这样,如果环境变量为nil,属性将为nil。我想这可能与我的其他未解决问题有关,我已删除所有代码并返回到上次提交,但:。我之前删除了这段代码,当时我不是通过Env变量手动插入数据。