通知をオンにしましたか?その場合、User
モデルは電子メール通知を送信しようとしています。メール サーバーを構成していない場合、作成操作は失敗します。
この問題を回避するには、次のことを行う必要がありました。
1 ユーザーモデルを修正する
という仮想属性を追加しますdont_notify
。
class User < ActiveRecord::Base
# add a attribute
attr_accessor dont_notify
end
2 Observer コードを変更して属性を検出します。
class UserObserver < ActiveRecord::Observer
def after_create(user)
return if user.dont_notify? #notice this line
UserMailer.deliver_signup_notification(user)
end
def after_save(user)
return if user.dont_notify? #notice this line
UserMailer.deliver_activation(user) if user.recently_activated?
end
end
3dont_notify
シード中にフラグを設定する
seed.rb
フラグを設定します。
User.create(:login => 'admin',
:role => Role.find_by_name('super_admin'),
:email => 'admin@example.com',
:password => '123123',
:password_confirmation => '123123',
:dont_notify => true
)