回调不跑我有类似如下:FactoryGirl孩子后(:创建)创建父母的时候
# spec/factories/card.rb
FactoryGirl.define do
factory :card do |f|
first_name 'First Name'
[...]
emails { [ build(:email, :active) ] }
end
end
我使用build
的电子邮件,所以我没有得到一个错误的电子邮件belongs_to :card
。
# spec/factories/email.rb
FactoryGirl.define do
factory :email do |f|
address '[email protected]'
end
trait :active do
after(:create) do |email|
email.active = true
email.save
end
end
end
我的电子邮件地址模式:
# app/models/email.rb
class Email < ActiveRecord::Base
belongs_to :card
before_save :set_confirm_key
def set_confirm_key
if address_changed?
self.confirm_key = SecureRandom.urlsafe_base64(15)
self.active = false
return
end
end
end
的问题是,我有我的电子邮件模型before_save
回调这台积极为假,如果我做FactoryGirl.create(:card)
后(:创建)钩没有按”不要在电子邮件工厂打电话,所以我总是收到不活动的电子邮件。
请显示您的before_save回调。已添加 – boulder
电子邮件模型。 – janosrusiczki