2013-03-29 3 views
1

После входа в систему, а затем, если я перехожу на страницу/пользователи/редактирую страницу, я получаю сообщение со вспышкой «Вы успешно вошли в систему».devise показ флеш-сообщения на других страницах

В контроллере регистраций я пытался:

flash.now # either this or below one 
flash.discard 

же я попытался для макетов как

<% if flash[:alert] || flash[:error] || flash[:notice] %> 
     <%= content_tag :div, :class => "alert alert-info info-inside" do -%> 
      <button class="close" data-dismiss="alert">×</button> 
      <%= flash.now[:alert] if flash[:alert] %> 
      <%= flash.now[:error] if flash[:error] %> 
      <%= flash.now[:notice] if flash[:notice] %> 
     <% end -%> 
    <% end %> 

Кроме того, если я создавать продукты и получил на другие страницы он показывает неправильно флэш messages.On освежающим он идет далеко.

Пожалуйста, расскажите, как избежать таких флэш-сообщений. Я попробовал flash.now и flash.discard в своих файлах макетов, а также в необходимых контроллерах. но это мне не помогло.

ответ

0

Попробуйте выполнить приведенный ниже код. Он проверяет, действительно ли флэш-сообщение присутствует, и захватывает либо успешные сообщения, и сообщения об ошибках.

<% if flash.present? %> 
<div id="flash" class="flash"> 
<% flash.each do |name, msg| %> 
    <div class="alert alert-<%= name == :notice ? "success" : "error" %>"> 
    <%= content_tag :div, msg, id: "flash_#{name}" if msg.is_a?(String) %> 
    </div> 
<% end %> 

Смежные вопросы