Rails Devise gem:限制我可以重新发送确认邮件的次数

时间:2014-09-23 16:50:18

标签: ruby-on-rails devise devise-confirmable

我有一位可以创建新用户的用户管理员,新创建的用户需要确认针对他的电子邮件才能激活他的帐户。

如何限制“确认邮件重新发送”针对特定用户的次数。

假设我创建了一个新用户并且他没有通过他的邮件进行确认,所以我发送了另一封确认邮件,以防他丢失了第一个邮件,就像我明智地我可以根据需要重新发送邮件一样。但我希望这个数字被限制为5.所以对于特定的用户来说

user.send_confirmation_instructions只能使用5次。

是否有任何设计方法可以做到这一点。

1 个答案:

答案 0 :(得分:0)

我认为没有任何内置的方法可以解决这个问题。但另一个我能想到的简单方法是

  1. mail_counter模型中添加user属性。
  2. 将此mail_counter增加为" 1"对于该特定用户,只要调用user.send_confirmation_instructions
  3. 在调用user.mail_counter < 6之前添加user.send_confirmation_instructions的if条件。