我正在使用Rails和Postgres,在加载和处理数据的过程中,我不得不创建表并手动插入数据(好吧,编写了脚本,但关键是我没有使用Rails/migrations)。我有一个正确定义的模型,但是做的事情如下:
Coordinator.find(123)返回:

Could not log "sql.active_record" event. NoMethodError: undefined method `name' for nil:NilClass
ActiveRecord::StatementInvalid: PG::Error: ERROR:  zero-length delimited identifier at or near """"
LINE 1: ...tors".* FROM "coordinators"  WHERE "coordinators"."" = $1 LI...
: SELECT  "coordinators".* FROM "coordinators"  WHERE "coordinators"."" = $1 LIMIT 1

有什么想法吗?

最佳答案

如果我理解正确,那么您的模型上应该缺少一行代码,使您的表和activerecord之间的链接类似于这样:

class Coordinator > ActiveRecord::Base
  set_table_name "coordinators"
  ... # stuff
end

按pcragone编辑:
我只想加入跑步
rake db:migrate
rake db:schema:dump

似乎在不设置表名的情况下修复了该问题

09-25 19:31