【发布时间】:2014-09-21 16:38:27
【问题描述】:
我正在使用 Devise 2.1.2 运行 Rails 3.2.14 应用程序,并且正在我的应用程序控制器中检查并发/重复会话。
我希望能够在显示“检测到重复登录”的应用程序控制器中调用 signout_and_redirect 后在模板视图中显示一个 Flash 通知
我的代码如下所示:
application_controller.rb
def check_concurrent_session
if duplicate_session?
flash[:notice] = "Duplicate Login Detected"
sign_out_and_redirect(current_user)
end
end
def duplicate_session?
user_signed_in? && (current_user.login_token != session[:token])
end
我已经使用上面的代码进行了尝试,但是当我触发重复会话时,浏览器会退出但不显示 flash 通知。
在我的 application.html.erb 中,我有以下设置来显示 Flash 通知/警报。
<% if flash[:notice] %>
<p class="alert"><%= flash[:notice] %></p>
<% end %>
<% if flash[:alert] %>
<p class="alert"><%= flash[:alert] %></p>
<% end %>
【问题讨论】: