Rails:调用Devise authenticate_user! 并处理无效的用户/密码exception

我有一个弹出窗口,只有在用户通过身份validation后才能查看/保存一些信息。

我正在使用设计。

在控制器before_filter中,它检查用户是否已登录,如果没有,则显示登录页面。

此登录页面是网站登录页面的翻录版本,因此它非常适合弹出窗口。

在身份validation操作上,我调用authenticate_user!。 当用户输入有效凭据时,一切正常。 但是当凭证无效时,设计会自动重定向到网站的登录页面(正如我所说的不同,不适合弹出窗口)

我尝试在电话中附加救援,但无济于事。

有人可以建议一个更好/正确的方法吗? 🙂

def authenticate authenticate_user! rescue redirect_to "/popup/sign_in" if user_signed_in? respond_to do |format| format.html { flash[:notice] = I18n.t("logged_in_succesfully") redirect_back_or_default(accounts_path) } else flash[:error] = I18n.t("devise.failure.invalid") render "/popup/sign_in" end end