Предыстория: я месяцами пытался обновить устройство до последней версии, но основным камнем преткновения, кажется, является изменение, внесенное в 1.2.0, поэтому я сосредоточен на обновлении до 1.2.0 прямо сейчас.Все флэш-сообщения devise правильно отображаются в 1.1.7, и ни одно флэш-сообщение devise не отображается в 1.2.1.ЕДИНСТВЕННОЕ изменение между сообщениями, работающими, чтобы не работать, является обновлением устройства.В этом вопросе я сосредоточусь на флэш-сообщениях контроллера сессий, но все остальные разработанные флэш-сообщения перестали работать.
В 1.1.7: В сессиях # новая форма я ввожу правильныйэлектронная почта и недействительный адрес электронной почты.Я нажимаю отправить.Я получаю флэш-память [: alert]: «Неверный адрес электронной почты или пароль».
В 1.2.1. В новой форме сессий # я ввожу правильный адрес электронной почты и недействительный адрес электронной почты.Я нажимаю отправить.Я не получаю оповещения.
SessionsController:
class User::SessionsController < Devise::SessionsController
layout "no_chrome", :only => :new
skip_authorization_check
before_filter :sign_out_all_scopes, :only => %w[new create]
protect_from_forgery :except => [:new, :create]
skip_before_filter :verify_authenticity_token
def create
super
end
end
Представление: session / new.html.erb
<div class="form_container">
<%= flash_div(:alert) %>
<%= simple_form_for @user, :url => user_session_path do |form| %>
<%= form.input :email %>
<%= form.input :password, :required => true %>
<%= form.submit "Sign in", :class=>"purple submit_button" %>
<% end %>
</div>
In application_helper.rb
def flash_div(kind)
unless flash[kind].blank?
text = "<p>#{flash[kind]}</p>"
content_tag :div, text.html_safe, :id => "flash", :class => kind
end
end
Буду признателен за любую помощь, так как я пытался делать это обновление в течение нескольких месяцев.Я также хочу отметить, что все, кроме флэш-сообщений, работает после обновления.
РЕШЕНИЕ:
Удалить before_filter: sign_out_all_scopes