我正在使用动态fixture,每当我运行我的测试时,我都会得到一个错误,它认为我的关联是一个列,而它应该是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?这使得测试现在变得非常困难,我希望有人能给我一些启发,为什么它不能正确读取我的关联。
谢谢!
发布于 2009-11-30 22:59:34
您的has_one :owner应为belongs_to :owner
https://stackoverflow.com/questions/1816953
复制相似问题