如何在rails devise插件中显示未经授权的页面请求的错误消息?

时间:2012-05-30 09:04:23

标签: ruby-on-rails authentication devise

我在Ruby on Rails项目中工作,该项目使用Devise插件实现了身份验证机制。我是这个插件以及Ruby的新手。因此难以解决身份验证中的问题。问题是,根据当前的实现,如果用户试图在没有登录的情况下访问应用程序中的页面,则会在访问该页面之前将用户重新定向到登录页面,说明他或她应该登录或注册。那是对的。这是我需要的实现。但是,即使用户直接进入“登录”页面,也会显示此错误消息。这不是必需的。因为如果用户直接访问登录页面,则无需给出错误消息。 任何帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:1)

你打电话给设计authenticate_user!,你不应该使用require_no_authentication

您必须在会话控制器中调用过滤器之前确保这一点

prepend_before_filter :require_no_authentication, :only => [ :new, :create ]

这些是在devise的默认控制器(例如,Devise :: SessionsController)中处理的,你使用它们吗?