2012-12-27 82 views
1

如已知,当登录过程失败时,Devise使用flash进行警报。没有resource.errors数组,只是闪烁。所以我的问题是如何做到这一点?我的意思是我怎样才能将这个功能用于我的目的?是否有股Devise的助手或控制器方法将资源错误从resource.errors移动到闪存?或者唯一的办法是写我自己的实现?为登录设计错误消息

我试图找出它自己,但我失败了。

谢谢。

回答

1

设计使用I18N它的Flash消息,它允许您完全自定义它们,甚至可以添加自己的。看看您的项目目录中的config/locales/devise.en.yml。在那里你会看到Devise闪光消息所需的所有英文翻译。

如果你在设计看SessionsController,你会看到下面这行:

set_flash_message(:notice, :signed_in) if is_navigational_format? 

这就要求他们set_flash_message并通过在闪存类型和所需的翻译。

至于想要用于你的目的,这真的取决于你想要做什么。将其翻译为新语言非常简单,只需在语言环境下添加YAML文件,如西班牙语为config/locales/devise.es.yml,然后翻译现有文本即可。

任何超出,如添加新的提示信息,将需要覆盖默认设计的控制器,可以在其wiki被发现的例子,或者通过简单的Google search

+0

janders223,我想通了,今天合适的解决方案我自己。但任何方式谢谢你! – evilguc