Ruby on rails 设计::注册控制器#显示

Ruby on rails 设计::注册控制器#显示,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个从Deviate::RegistrationController继承的控制器。我已将show action添加到控制器。问题是,即使用户注销,他们也可以访问此操作,即使在我的控制器顶部,我有: 在\u筛选器之前:验证\u用户!,:除了=>[:新建,:创建] 为什么不是用户!不允许访问我的显示操作?可能是身份验证范围的问题。。 尝试将以下内容添加到控制器: prepend_before_filter :authenticate_scope!, :only => [:edit, :up

我有一个从Deviate::RegistrationController继承的控制器。我已将show action添加到控制器。问题是,即使用户注销,他们也可以访问此操作,即使在我的控制器顶部,我有:

在\u筛选器之前:验证\u用户!,:除了=>[:新建,:创建]


为什么不是用户!不允许访问我的显示操作?

可能是身份验证范围的问题。。 尝试将以下内容添加到控制器:

prepend_before_filter :authenticate_scope!, :only => [:edit, :update, :destroy, :show]

我用我的一个应用程序测试了这个。这个过滤器是你的人!(在我的例子中是person)适用于所有其他控制器,但不适用于从designe::RegistrationController继承的控制器。这可能是Desive的一个问题或限制。需要添加到github的问题讨论中


另一个解决方法是创建一个应该登录的过滤方法?进入应用程序控制器,然后检查是否有人登录?帮助程序,并相应地重定向。

重载用户身份验证!函数,并调用一些记录器,查看函数是否正在启动。。。