【发布时间】:2013-02-22 12:54:56
【问题描述】:
在 0.074964 秒、13.3398 次测试/秒、0.0000 次断言/秒内完成测试。
1) Error:
test_the_truth(UserTest):
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'user_id' in 'field list': INSERT INTO `tickets` (`status`, `assignee`, `created_at`, `updated_at`, `id`, `project_id`, `user_id`) VALUES ('MyString', 1, '2013-02-22 12:40:19', '2013-02-22 12:40:19', 980190962, 64810937, 64810937)
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `query'
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:245:in `block in execute'
我生成/搭建了模型和所有东西。 特殊的部分是我不记得表中有一个 user_id 列。 此外,schema.db 和所有迁移也没有这样的东西。 我的 工作区 中没有这样的字符串 (user_id) rails 我的专栏应该怎么命名?
显然数据库中有一个列这样的东西,但它以某种奇怪的混乱方式得到了修复。
附:如果我禁用与此表相关的固定装置,一切都很好。
发生了什么,rails 从哪里读取此列名,因为显然它不是来自我的工作区,也不是来自我的数据库或测试数据库。所以它可能将它存储在某个地方?有什么办法可以解决这个烂摊子吗?
【问题讨论】:
-
您的 Ticket 装置中有它吗?如果是删除该字段并尝试再次运行测试。
标签: ruby-on-rails ruby ruby-on-rails-3 unit-testing rails-activerecord