我有一个用户模型与设计,并有一个活跃的列,表明如果用户是活跃或不。试用期结束后,该帐户将是不活跃的,除非用户注册的计划之一。
我目前显示自定义错误消息给用户时,电子邮件已经存在使用如下设计
en:
activerecord:
errors:
models:
user:
attributes:
email:
taken: 'This email address has been used already. Please contact support if you would like more access'
字符串
然而,有时在试用期内使用活动帐户的用户试图再次注册,在这种情况下,我想显示一个不同的错误消息,如“请登录__登录__链接”
当电子邮件已经存在并且帐户处于活动状态时,有条件地显示错误消息的正确方法是什么?
1条答案
按热度按时间3pmvbmvn1#
处理这个问题的方法并不是真正通过验证,因为验证并没有您在应用程序流中所处位置的上下文。
而且仅仅在表单上显示一个小错误对用户的帮助要比显示一条flash消息小得多。
Devise让这变得相当容易,因为
Devise::RegistrationsController#create
让子类“进入”流:个字符