设计登录错误消息

时间:2015-05-22 03:40:29

标签: ruby-on-rails ruby-on-rails-4 devise

我尝试访问登录错误消息的方式与我在注册时访问错误的方式相同。在我的情况下,用户是否已经确认了电子邮件。

<% = F.error_notification %>

但在登录时,不会显示任何错误。

有人?

更新

正如Nitish Parkar所说,在我们的登录页面中,错误消息显示在flash消息中。

谢谢!

1 个答案:

答案 0 :(得分:0)

设计以稍微烦人的方式返回错误,这可能与您通常在模板中显示错误的方式不兼容。我最终在一个被覆盖的控制器中分配它们。

def create
   build_resource(sign_up_params)
   resource_saved = resource.save
   yield resource if block_given?
   if resource_saved
     if resource.active_for_authentication?
       set_flash_message :notice, :signed_up if is_flashing_format?
       sign_up(resource_name, resource)
       respond_with resource, location: after_sign_up_path_for(resource)
     else
       set_flash_message :notice, :"signed_up_but_#{resource.inactive_message}" if is_flashing_format?
       expire_data_after_sign_in!
       respond_with resource, location: after_inactive_sign_up_path_for(resource)
     end
   else
     clean_up_passwords resource
     @validatable = devise_mapping.validatable?
     if @validatable
       @minimum_password_length = resource_class.password_length.min
     end
     #respond_with resource
     flash[:error] = resource.errors.full_messages
     redirect_to '/signup'
   end
 end


 <% if !flash.empty? %>
   <div class="alert alert-success lead">
     <% flash.each do |name, msg| -%>
       <%= content_tag :div, msg, class: name %>
     <% end -%>
   </div>
 <% end %>