Ruby 在 Rails 上未捕获 :warden with Devise。

Ruby on Rails uncaught throw :warden with Devise.

我的 Ruby on Rails 应用程序有一个非常奇怪的问题。我的控制器看起来像这样:

class PersonReportsController < ApplicationController
  include ActionController::Live
  load_and_authorize_resource except: [:index]

  def index
    #some code
  end
end

当我尝试以未登录用户身份访问它时,应用程序抛出以下错误:

uncaught throw :warden

但是当我从控制器中删除时:

include ActionController::Live

一切正常... 有什么想法可以解决这个问题吗?

一切都在这里解释: https://github.com/plataformatec/devise/issues/2332

Wrapping my routes in an authenticate do...end block is a great workaround