【问题标题】:Custom Devise: Sessions Controller Failure自定义设计:会话控制器故障
【发布时间】:2014-06-27 19:15:52
【问题描述】:

我的自定义 Devise Sessions 控制器不让我登录。我在尝试自定义 Devise 控制器时遇到了一些困难,但我不知道这里发生了什么。

当我尝试登录时,页面 (sessions#new) 只是重新呈现。如何让我的自定义控制器恢复全部功能?

# controllers/sessions_controller

class SessionsController < Devise::SessionsController
  skip_before_filter :store_last_attempted_location
  skip_after_filter  :store_last_successful_location

  def new
    super
  end

  def create
    super
  end

  def destroy
    super
  end
end

我的路线

#config/routes.rb

devise_for :users, :controllers => { :sessions => "sessions", :registrations => "registrations"  }

提前致谢。

【问题讨论】:

  • 我猜登录凭据无效,导致重新渲染。你能验证它们是否正确吗?确保您在application.html.erb 中显示闪存消息,因为如果凭据无效,则设计会在闪存中设置错误消息。
  • 在这两个方面都正确,先生,谢谢。不知道我是如何被删除的,但确实存在。

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


【解决方案1】:

如果在输入用户凭据后重新呈现登录页面,则表示凭据无效,导致重新呈现。但这应该会导致重新渲染的页面上出现一条闪烁消息,因为 Devise 使用闪烁消息让应用程序用户知道登录是成功还是失败。

确保您在 application.html.erb 中显示的 Flash 消息为:

<% flash.each do |name, msg| %>
  <%= content_tag :div, msg %>
<% end %>

【讨论】:

  • 谢谢你,@Kirti。并对滥用“先生”表示由衷的歉意。你是一位绅士和学者。
  • @steel 没问题,很高兴为您提供帮助 :)
猜你喜欢
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
相关资源
最近更新 更多