根据模型验证自定义设计Flash消息

时间:2014-03-31 16:15:26

标签: ruby-on-rails flash devise

我在我的rails应用程序中使用Devise进行身份验证。应用中有两种设计模型,admincustomer

客户模型使用mobile_number进行身份验证,而不是通常的email_id字段。但是,管理员字段使用email_id进行身份验证。

现在,我面临的问题与设计显示的默认Flash消息有关。

考虑,当用户输入无效的登录凭据时,消息为

'Invalid email or password'

我想根据模型自定义此消息。因此,如果管理员输入的凭据不正确,则消息为:

'Invalid email or password'

如果客户输入相同内容,则为:

'Invalid mobile number or password'

1 个答案:

答案 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'

希望这会有所帮助:)

相关问题