0

我需要在设计将用户重定向到登录页面之前触发回调,可能是因为authenticate_user!方法检测到他没有登录。类似的东西:

before_filter :authenticate_user!, :only => :edit

def not_authenticated_callback
  # do something
end

如果尚未调用,则不应调用它authenticate_user!

4

2 回答 2

0

我找到了一个丑陋的解决方案:

around_filter :intersect_warden

def intersect_warden
  success = false
  result = catch(:warden) do
    result = yield
    success = true
    result
  end

  unless success
    not_authenticated_callback
    throw(:warden, result)
  end
end
于 2012-10-08T15:50:31.770 回答
-1

在使用before_filter 时:authenticate_user!,如果用户未登录,该操作将不会进入您的控制器。

如果您使用 before_filter,当用户未登录时,您将无法访问控制器内的任何功能。

于 2012-10-08T14:55:07.430 回答