2014-10-25 15 views
6

Piece of mã trên github: http://bit.ly/ZMSJXQRails 4, lập mưu - Thông báo lỗi trên Login không làm việc properply

1) Mở nhập, tôi nhận được không thông báo lỗi nếu:

  • email doesn 't tồn tại trong db
  • mật khẩu là trống
  • mật khẩu là sai

devise_error_messages! trống rỗng khi resource.errors trống. Có vẻ như tài nguyên không được xác thực. Tại sao?


2) Nếu tôi chạy resource.valid? sau đó resource.errors lợi nhuận :email=>["has already been taken"], :password=>["can't be blank"]

tôi nhận được thông báo lỗi nhưng chúng không đúng. 'Email đã được thực hiện' không có ý nghĩa khi đăng nhập. Tại sao?

(Đăng ký, cài đặt lại mật khẩu vv làm việc tốt.)

+0

Bạn đã thử với người trợ giúp của devise_error_messages! ? –

+0

Có, trả về chuỗi rỗng. – Webspirit

+0

@Helen bạn đã thiết lập như thế nào? Bạn có thể đăng mã mô hình không? – Mandeep

Trả lời

10

devise_error_messages! chỉ là một helper để trả về một danh sách định dạng của resource.errors. Mặc dù một số thông báo thất bại được đặt trong đối tượng flash của đường ray. Một nơi nào đó trong bố cục của bạn, bạn nên hiển thị các thông báo flash đó:

<%- flash.each do |name, msg| -%> 
    <%= content_tag :div, msg, id: "flash_#{name}" %> 
<%- end -%> 
Các vấn đề liên quan