首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveRecord UknownAttributeError在我的单元测试中

ActiveRecord UknownAttributeError在我的单元测试中
EN

Stack Overflow用户
提问于 2014-06-10 19:50:53
回答 1查看 45关注 0票数 0

嗨,我有下面的模型

代码语言:javascript
复制
class User < ActiveRecord::Base
    acts_as_messageable

    before_save { email.downcase! }
    before_create :create_remember_token
    has_many :items , dependent: :destroy
    has_many :routes , dependent: :destroy
    has_many :bids, dependent: :destroy
    ....
 end

class Bid < ActiveRecord::Base
    belongs_to :user
    has_one :package
    ....
end

class Package < ActiveRecord::Base
    belongs_to :user
    has_many :bids, dependent: :destroy
   ....
end

当我运行我的单元测试时,我得到以下错误

Failure/Error:@bid =user.bids.build(数量: 34.00) ActiveRecord::不明属性: user_id

我的单元测试从下面开始

代码语言:javascript
复制
describe Bid do

let(:user) { FactoryGirl.create(:user) }

  before { 
    @package = user.packages.build(destination: "Dublin", origin: "Naas", length: 4.9, width: 5.0, height: 9, weight:32, delivery_date: Time.now)
    @bid = user.bids.build(amount: 34.00) 
  }
  ....
end

我不知道是什么导致了这个错误,我觉得它很小,因为我可以在rails控制台中创建一个出价

代码语言:javascript
复制
u = User.new
bid = u.bids.build(amount: 33)
bid.save

我的数据库中的投标表有列user_id,所以我不知道它在抱怨什么?当我修复这个错误时,我有点担心这可能是循环依赖,这只是一种感觉,如果有人能证实这一点,那也是很好的。

在为视图和控制器编写代码之前,我想先解决这个问题,因为我正试图约束自己遵守TDD规则

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-10 20:07:11

也许您忘记迁移测试数据库了?所以代码在开发过程中运行良好,但没有测试?

运行$ rake db:test:clone_structure

FactoryGirl也有一个更好的方法处理关联。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24149714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档