我是 TDD 和 Rails 的新手。我正在尝试测试一个“别名”关联(不知道这是否是一个有效术语)。
我的测试:
it 'an order should always have a customer' do
o = Order.new
o.should_not be_valid
end
我的模型:
class Order < ActiveRecord::Base
belongs_to :customer, :class_name => Person
validates_associated :customer
end
我不知道validates_associated是否符合它的含义。我的测试仍然将带有“customer_id:nil”的订单视为有效。
人物模型:
class Person < ActiveRecord::Base
attr_accessible :first_name, :last_name, :middle_name
validates_presence_of :first_name, :last_name
has_many :addresses
has_many :orders, :as => :customer
end
我想确保保存的每个订单都有一个关联的客户(一个 Person 对象)。我错过了什么吗?