2013-12-15 88 views
0

只有在Rails生产环境中,我有非常奇怪的错误。在开发中很好。日志在我的index.html.erb文件的这一行中显示错误。Rails生产错误ActiveRecord :: RecordNotFound(找不到没有ID的人)

这是生产日志错误:

ActiveRecord::RecordNotFound (Couldn't find Person without an ID): 
    app/views/seeds/index.html.erb:71:in `block in _app_views_seeds_index_html_erb__4016841983995682700_31529840' 
    app/views/seeds/index.html.erb:61:in `each' 
    app/views/seeds/index.html.erb:61:in `_app_views_seeds_index_html_erb__4016841983995682700_31529840' 
    app/controllers/seeds_controller.rb:17:in `index' 

在我的种子索引文件的线,这是一个:

<td><%= Person.find(seed.person_id).name %></td> 

此行之前,我以同样的方式查询其他数据与外键它的工作原理。当我检查sql表时,我发现Seeds表具有person_id值。

此外,当我在生产环境中通过导轨控制台查询相同的东西时,我收到的结果没有任何问题。但是当我加载页面时,它显示我“你正在寻找的页面不存在。”和production.log显示上面的错误...任何想法可能是错误的?

+0

上述行中的'种子'的特定实例听起来像它是空的。 ..你可以验证它存在吗? – CDub

+0

是的,因为当我删除有问题的行时,一切都正常。它是一个循环<%@ seeds.each do | seed | %>和比使用种子变量我访问其他正在工作的数据... – Dragan

+1

什么是在这种情况下'person_id'?我通常看到这个错误,当我有一个整数或整数作为字符串以外的东西,因此Rails没有ID。 – CDub

回答

0

对不起,大脑编码一整天后,家伙不好。重点是在表中间我有一个NULL对象的人,这是导致错误...谢谢你的时间

相关问题