【问题标题】:Run Javascript code when Devise authenticate_user fails当设计 authenticate_user 失败时运行 Javascript 代码
【发布时间】:2016-01-11 23:54:16
【问题描述】:

当我移动到只有登录用户才能访问的页面时,Devise 会呈现登录表单。我有一个风格很好的通知,它告诉用户他已注销,我想在不重定向到登录页面的情况下显示它。我有文件user.js.erb,其中包含工作 Javascript 代码,但我不知道如何运行它。我试图重写authenticate_user 方法,但没有成功。

def authenticate_user!
  unless current_user

  end
end

我试过respond_toformat.js,但没有奏效。我不需要现成的代码,但如果有人能指引我正确的方向,我将不胜感激。

【问题讨论】:

    标签: javascript ruby-on-rails devise


    【解决方案1】:

    为此,您需要通过 ajax 对用户进行身份验证。没有其他办法,因为当您按下“登录”或提交按钮时,浏览器会将数据发送到服务器并等待您的服务器生成的 html 回复。

    请查看this 的帖子。

    【讨论】:

    • 我没有很好地描述我的问题,抱歉。我编辑了我的问题。所以基本上我根本不想显示登录表格。我想显示用户在不重定向到任何页面的情况下未登录的通知。无论如何感谢您的帮助。
    • @Garbus 然后在“登录”按钮上设置 onclick 回调函数,该函数将对服务器执行 ajax 请求,如果服务器响应显示凭据错误 - 显示您的通知。这是有关如何执行此操作的有用帖子,几乎就像您需要的那样。 hackhands.com/sign-users-ajax-using-devise-rails
    猜你喜欢
    • 2014-02-06
    • 1970-01-01
    • 2012-04-06
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多