시스템에 테스트 데이터를 입력하기위한 시드 파일이 있습니다. 내가 거기에 버그를 찾을 수 없습니다Ruby on Rails의 시드 파일 오류
[email protected]:~/rails_projects/rails-for-business$ rake db:seed
[RailsAdmin] RailsAdmin initialization disabled by default. Pass SKIP_RAILS_ADMIN_INITIALIZER=false if you need it.
rake aborted!
undefined method `works' for nil:NilClass
/home/rails/rails_projects/rails-for-business/db/seeds.rb:34:in `block in <top (required)>'
/home/rails/rails_projects/rails-for-business/db/seeds.rb:30:in `each'
/home/rails/rails_projects/rails-for-business/db/seeds.rb:30:in `<top (required)>'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `block in load'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:222:in `load'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/railties-4.0.0/lib/rails/engine.rb:540:in `load_seed'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/activerecord-4.0.0/lib/active_record/tasks/database_tasks.rb:153:in `load_seed'
/home/rails/.rvm/gems/[email protected]_rails_4_0/gems/activerecord-4.0.0/lib/active_record/railties/databases.rake:181:in `block (2 levels) in <top (required)>'
/home/rails/.rvm/gems/[email protected]_rails_4_0/bin/ruby_executable_hooks:15:in `eval'
/home/rails/.rvm/gems/[email protected]_rails_4_0/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:seed
(See full trace by running task with --trace)
: 다음 그것을 실행하는 경우
fnames = ["Adam", "Benjamin", "Caleb", "Daniel", "Frank", "Gideon"]
lnames = ["Smith", "Jones", "Washington", "Jefferson", "Gardener",
"Cooper"]
Student.delete_all
3.times do
nickname = fnames[rand(6)]
name = nickname + " " + lnames[rand(6)]
email = (name + "@foobar.com").gsub(" ", "")
Student.create(name: name, email: email, nickname: nickname)
end
Task.delete_all
task_list = [
[ "First", 540 ],
[ "Second", 850 ],
[ "Third", 905 ],
[ "Fourth", 80000 ]
]
Work.delete_all
task_list.each do |description, points|
work = Work.create
task = Task.create(description: description, points: points)
student = Student.first
student.works << work
student.save
work.task = task
work.save
end
는하지만이 오류가 발생합니다. 공동 작업 프로젝트이므로 데이터베이스 자체의 테이블이 어떻게 연결되는지는 알 수 없습니다.
잘 작동했다. 즉시 문제가 표시됩니다. – gotva