我正在制作一个Rails"电影活动"应用程序。数据库中的几个表有has_many,通过:关系。
创建的第一个表是: 通过EventsVenues表连接的事件和场所。
然后我在模型中创建了关系,然后打开rails控制台以使用测试数据填充表并检查关系。一切都工作得很好,花花公子。
然后我继续添加具有各种关系的其他表,用测试数据填充它们,并依次检查这些表。所有人似乎都退房了。
最后我回去重新测试Event表并收到以下错误消息:
irb(main):013:0> Event
NameError: undefined local variable or method ` ' for main:Object
from /Users/Timo/Projects/openscreen_new/openscreen_db/app/models/event.rb:10:in `<top (required)>'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:457:in `load'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:457:in `block in load_file'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:647:in `new_constants_in'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:456:in `load_file'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:354:in `require_or_load'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:494:in `load_missing_constant'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:184:in `const_missing'
from (irb):13
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
from /Users/Timo/Projects/openscreen_new/openscreen_db/bin/rails:9:in `<top (required)>'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `block in load'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/Timo/.rbenv/versions/2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from -e:1:in `<main>'irb(main):014:0>
所有其他表格都可以正常使用:
irb(main):015:0> Venue.first
Venue Load (0.6ms) SELECT "venues".* FROM "venues" ORDER BY "venues"."id" ASC LIMIT 1
=> #<Venue id: 1, name: "Tim's place", description: "A darn stylish abode", street_number: 1, address_01: "rue des Pommieres", address_02: nil, country: "Luxembourg G.D.", google_map: nil, created_at: "2016-12-20 14:05:06", updated_at: "2016-12-20 14:05:06">
irb(main):016:0>
和
irb(main):024:0> Venue.first.event_venues
Venue Load (0.5ms) SELECT "venues".* FROM "venues" ORDER BY "venues"."id" ASC LIMIT 1
EventVenue Load (0.2ms) SELECT "event_venues".* FROM "event_venues" WHERE "event_venues"."venue_id" = $1 [["venue_id", 1]]
=> #<ActiveRecord::Associations::CollectionProxy [#<EventVenue id: 2, event_id: 1, venue_id: 1, created_at: "2016-12-20 14:21:50", updated_at: "2016-12-20 14:21:50">]>
irb(main):025:0>
我不记得在事件模型中改变了什么。它突然开始给我错误信息。
知道我缺少什么吗?
答案 0 :(得分:0)
正如日志所示,您有一个错误:
NameError: undefined local variable or method ` ' for main:Object
在Event
模型的第10行有一个未定义的变量。