ruby - Rails Foxy Fixtures 抛出未知列错误

标签 ruby unit-testing testing fixtures

我正在使用动态装置,每当我运行我的测试时,我都会收到一个错误,认为我的关联是一个列,而它应该是 owner_id:

ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'owner' in 'field list': INSERT INTO `companies` (`custom_host`, `name`, `created_at`, `updated_at`, `api_key`, `id`, `subdomain`, `owner`) VALUES ('testerapp.com', 'Some Company', '2009-11-29 21:39:29', '2009-11-29 21:39:29', 'ae2b1fca515949e5d54fb22b8ed95575', 467557389, 'some_company', 'garrett')

在我的 companies.yml 文件中我有这个:

some_company:
  name: Some Company
  subdomain: some_company
  custom_host: testerapp.com
  api_key: <%= "testing".to_md5 %>
  owner: garrett

users.yml:

garrett:
  company: some_company
  login: garrett
  email: email@me.com
  ...
  locale: en
  role_name: owner

这也是我的模型:

class Company < ActiveRecord::Base
  has_one :owner, :class_name => "User"
  has_many :users
  validates_associated :owner
end

class User < ActiveRecord::Base
  belongs_to :company
end

我的问题可能是因为我在 Company 中关联了两次 User 吗?这让现在的测试变得非常困难,我希望有人能阐明为什么它没有正确读取我的联想。

谢谢!

最佳答案

你的 has_one :owner 应该是 belongs_to :owner

关于ruby - Rails Foxy Fixtures 抛出未知列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816953/

相关文章:

c# - 这个单元测试是否正确实现?

C# 模拟系统崩溃

ruby-on-rails - 路由无法正常工作

ios - 使用载波将图像从 iphone 应用程序上传到 Rails 应用程序

ruby-on-rails - rails 更新 crud View

javascript - 如何用 Jasmine 模拟静态函数?

java - 如何使用带有类的构造函数模拟对象?

ruby - class_eval 与 instance_eval

testing - 在模拟器上运行 Telerik Test Studio 测试

c# - 在集成测试中设置环境