2012-04-02 6 views
4

私はDevise宝石を使用しています。サインインページで私はそれを期待しています。何も書かなければエラーになるはずです。最初に私は、私はエラーを示すが、後に、このやっていないと思った。ログイン時にresource.errorsを埋め込まないように工夫する

#<ActiveModel::Errors:0x000000048ac1a0 @base=#<User id: nil, email: "", encrypted_password: "", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: nil, updated_at: nil>, @messages={}> 

<%= resource.errors.inspect %>

をまったく値でサインをした後、私は次の取得しますメッセージはまったくありません。

既定のDeviseモデルまたはビューを変更していないため、サインアップしてパスワードを忘れると正しくエラーが発生するため、かなり奇妙です。

どのような考えですか?

答えて

5

のエラーメッセージが表示されます。がフラッシュハッシュに設定されています。あなたのアプリケーションレイアウトでこれを追加してみてください:

<%- flash.each do |name, msg| -%> 
    <%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %> 
<%- end -%> 
0

もう少し便利な方法がサインアップした場合にのみ、サインイン時には動作しません<%= devise_error_messages! %>documentation here

+1

です。 – alexcoco

関連する問題