Существует модель пользователя, и когда пользователь создает учетную запись, письмо со ссылкой для подтверждения отправляется на адрес электронной почты. after_callback
устанавливает номер confirmed
пользователя на false
. (я не уверен, что если более чем один обратных вызовов одного типа возможно, есть два после обратных вызовов)После того, как обратный вызов не работает
User.rb:
after_create :confirmation
after_create :add_user_profile
...
def confirmation
if self.guest
self.confirmed=true
elsif self.authentication
self.confirmed=true
else
self.confirmed=false
begin
confirmation_token = SecureRandom.urlsafe_base64
end while User.exists?(:confirmation_token => confirmation_token)
self.confirmation_token=confirmation_token
self.confirmation_link_sent_at=Time.now.utc
UserMailer.send_confirmation_link(self).deliver
User.delay.delete_unconfirmed(self)
end
end
Но когда я вывожу последнего пользователя с консоли:
>> User.last
User Load (1.0ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT 1
#<User id: 21, email: "[email protected]", password_digest: "$2a$10$LMtsumUaS5MaiRhz3.mZ2em7Fbt3.66pbpe4863zj3b0...", created_at: "2013-05-22 17:17:18", updated_at: "2013-05-22 17:17:18", guest: false, auth_token: "lbIJftEqgwyXYymjEVdhCQ", password_reset_token: nil, password_link_sent_at: nil, confirmed: nil, confirmation_token: nil, confirmation_link_sent_at: nil>
Как вы можете видеть, подтверждено, что nil , а также другие связанные столбцы. Зачем?
спасибо! Всегда забывайте, что мне нужно вызвать save после таких вещей. –