2012-12-27 80 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