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显示上面的错误...任何想法可能是错误的?
上述行中的'种子'的特定实例听起来像它是空的。 ..你可以验证它存在吗? – CDub
是的,因为当我删除有问题的行时,一切都正常。它是一个循环<%@ seeds.each do | seed | %>和比使用种子变量我访问其他正在工作的数据... – Dragan
什么是在这种情况下'person_id'?我通常看到这个错误,当我有一个整数或整数作为字符串以外的东西,因此Rails没有ID。 – CDub