我正在使用 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
似乎没有设置表名就解决了问题
关于ruby-on-rails - 查询期间 Rails 空白列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982701/