繁体   English   中英

从1.1.7升级到1.2.1后,没有显示Devise Flash消息

[英]Devise Flash Messages are not showing up after upgrading from 1.1.7 to 1.2.1

背景:我一直在尝试将设计升级到最新版本,但是主要的绊脚石似乎是1.2.0中引入的更改,因此我现在专注于升级到1.2.0。 所有的devise flash消息均正确显示在1.1.7中,而所有的devise flash消息均未显示在1.2.1中。 消息起作用与不起作用之间的唯一变化是设备升级。 出于这个问题的目的,我将重点讨论会话控制器Flash消息,但所有其他devise闪存消息均停止工作。

在1.1.7中:在sessions#new表单中,我输入正确的电子邮件和无效的电子邮件。 我点击提交。 我收到了flash [:alert]:“无效的电子邮件或密码。”

在1.2.1中:在sessions#new表单中,我输入正确的电子邮件和无效的电子邮件。 我点击提交。 我没有警报。

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

视图:sessions / 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>

在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

由于我几个月来一直在尝试进行此升级,因此任何帮助将不胜感激。 我还想指出,升级后除了Flash消息之外的所有东西都可以正常工作。

解:

删除before_filter:sign_out_all_scopes

删除before_filter:sign_out_all_scopes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM