从控制器导轨3重新加载页面?

时间:2012-10-26 06:21:48

标签: javascript jquery ruby ajax ruby-on-rails-3

如果用户的会话超时,我想将用户重定向到登录页面。如果用户单击我的网页的任何链接,如何将用户重定向到登录页面。链接可以是ajax调用或页面重新加载调用。

2 个答案:

答案 0 :(得分:0)

您可以使用控制器中的before_filter功能轻松实现这一目标......

这些过滤器将检查有效会话以及是否过期...将用户重定向到登录页面...还可以检查导轨中的Notifications API

答案 1 :(得分:0)

您应该在控制器中调用before_filter函数。

您需要在控制器中添加此行,例如

Class NAMEsController < ApplicationController
before_filter :authenticate_user!

为此,您需要确保在项目中安装了“device”gem。

(或)

而不是调用before_filter :authenticate_user!在调用authenticate_user!的控制器中编写自己的函数。类似的东西:

before_filter :logged_in

private
def logged_in
  your_function
  authenticate_user!
end

对于ajax调用,你需要自己动手一点。以此为出发点。

 before_filter :login_required, :only => [:index]

 before_filter(:only => :index) do |controller|
   login_required unless controller.request.format.js?
 end

你需要做一些自定义测试脚本。这只是一个想法。我不确定它的工作是否完美。