回調不跑我有類似如下: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