2015-05-22 4 views
0

Я пытаюсь получить доступ к сообщениям об ошибках входа так же, как я обращаюсь к ошибкам в регистрации. В моем случае, подтвердил ли пользователь электронное письмо или нет.Сообщения об ошибках входа в систему

<% = F.error_notification %> 

Но при входе в систему, не отображается никаких ошибок.

Кто-нибудь?

UPDATE

Как сказал Nitish Parkar, на нашей странице входа, сообщения об ошибках приведены в flash сообщений.

Спасибо!

+1

При входе в систему, devise возвращает сообщения об ошибках в 'flash'. –

ответ

0

Devise возвращает ошибки в немного раздражающем способе, который может быть несовместим с тем, как вы обычно показываете ошибки в своих шаблонах. Я в конечном итоге назначаю их в переопределенном контроллере.

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 %>