我在我的rails应用程序中使用Devise进行身份验证。应用中有两种设计模型,admin
和customer
。
客户模型使用mobile_number
进行身份验证,而不是通常的email_id字段。但是,管理员字段使用email_id
进行身份验证。
现在,我面临的问题与设计显示的默认Flash消息有关。
考虑,当用户输入无效的登录凭据时,消息为
'Invalid email or password'
我想根据模型自定义此消息。因此,如果管理员输入的凭据不正确,则消息为:
'Invalid email or password'
如果客户输入相同内容,则为:
'Invalid mobile number or password'
答案 0 :(得分:3)
目前,Devise gem支持不同类型的语言环境文件,如英语,阿拉伯语,中文等,用于显示与不同语言的Devise身份验证相关的所有Flash消息。
请参阅此link。选择英文版。您可以看到何时需要显示invalid email or password
个Flash消息。所以解决方案是,
en:
devise:
failure:
customer:
invalid: 'Welcome user, you are signed in.'
not_found_in_database: 'Welcome user, you are signed in.'
admin:
invalid: 'Invalid mobile number or password'
not_found_in_database: 'Invalid mobile number or password'
希望这会有所帮助:)