在我们的发票模型中,有两列 -customer_id
和customer_name
。为了使用自动完成(JQuery),customer_name
在发票模型中添加了一个 setter 和 getter:
def customer_name
customer.try(:name)
end
def customer_name=(name)
self.customer = Customer.find_by_name(name) if name.present?
end
在发票模型中,有:
belongs_to :customer
然而在那之后,customer_id
并且customer_name
总是nil
被FactoryGirl.build(:invoice)
. 如果从发票模型中删除了 getter 和 setter,则 FactoryGirl 将正确的值分配给customer_id
and customer_name
。这是工厂女孩:
factory :invoice do
.....
customer_id 2
customer_name 'a customer name'
...
end
为什么在 FactoryGirl中会出现customer_name
result的 getter 和 setter?nil