带有Devise on Rails 3的注销链接

约翰·多瑞安

我是Rails的新手,到目前为止还不错,目前,我正在尝试通过Devise实现用户身份验证。除了注销,一切正常。我已经建立了链接以注销标题,如下所示:

<%= link_to 'Sign out', destroy_user_session_path, :method => :delete %>

并且位于的文件app/config/initializers/devise.rb具有以下设置:

config.sign_out_via = :delete

据我所知,由于Devise使用HTTPDELETE请求进行登出,因此我需要将登出链接专门设置为DELETE但是,当单击链接时,仍然会通过发送请求GET,因为出现此错误:

No route matches [GET] "/users/sign_out"

从Google看来,这是因为我需要与Rails捆绑在一起的jQuery版本才能为HTTPDELETE方法实现一种polyfill 但是,当我清理所有资产时,我选择使用最新版本的jQuery,因此,这在我的application.js文件中:

//= require jquery-2.1.0
//= require bootstrap
//= require plupload.full.min

即使包括了jQuery,它仍然通过发送请求GET有人建议我<%= javascript_include_tag :defaults %>在我尝试过的布局中使用,而404defaults.js如下所示:

No route matches [GET] "/javascripts/defaults.js"

有谁能解释一下这里发生的事情以及解决此问题的必要步骤?我知道我只能告诉Devise使用GET退出帐户,但这只是在避免问题。

埃德洛斯基

本地不支持来自超链接的非GET请求,因此您需要使用JavaScript代码。这就是jquery-ujs的功能(其中包括其他功能),但是您在清理资产时可能已将其删除。

您可以包括jquery-ujs脚本,但是根据文档,它与jQuery 2.0或更高版本不兼容。因此,如果您想继续使用最新的jQuery版本,那么这不是一个选择。

另一种选择是使用button_to助手。它使用名称为_method的隐藏输入创建表单,并将其删除为值。它将使用POST,但是rails能够解释_method字段并找到正确的路线,从而使Devise注销工作。

<%= button_to 'Sign out', destroy_user_session_path, method: :delete %>

希望能帮助到你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有Devise on Rails 3的注销链接

来自分类Dev

带有Devise的Rails 3.2:注销链接停止工作

来自分类Dev

Devise注销链接问题(Rails4)

来自分类Dev

Devise注销链接问题(Rails4)

来自分类Dev

带有Rails和Devise的STI

来自分类Dev

带有Office 365的Ruby Rails Devise和SAML

来自分类Dev

使用带有Rails URL链接的代理

来自分类Dev

Ruby on Rails Devise-无法注销

来自分类Dev

Rails / Devise:在用户会话销毁时强制注销并重定向所有页面

来自分类Dev

将Discourse SSO与带有Devise的现有Rails站点合并

来自分类Dev

ROR:如何使Devise注销链接图像?

来自分类Dev

ROR:如何使Devise注销链接图像?

来自分类Dev

如何创建带有Rails的pdf文件的链接?

来自分类Dev

带有永久链接/令牌URL的Rails多态注释

来自分类Dev

在Rails内部带有参数的自定义链接

来自分类Dev

如何使用带有Rails 4的Foundation紧密链接?

来自分类Dev

如何将带有Devise的Rails应用程序转换为OAuth提供程序?

来自分类Dev

带有Devise的Rails 4回形针,文件保存错误

来自分类Dev

无法在带有Rails 4的生产环境中使用devise登录

来自分类Dev

如何使用Devise in Rails4测试登录/注销用户

来自分类Dev

Rails / Devise:优雅地要求用户登录已注销的创建

来自分类Dev

带有bootstrap3行类的Ruby on Rails foreach

来自分类Dev

Multiselect Rails 3,带有Javascript的默认选择

来自分类Dev

带有Java语言的Rails 3嵌套模型表单

来自分类Dev

Rails内联表单,带有带有Bootstrap 3的form_tag

来自分类Dev

带有after_sign_in_path_for(resource)的Rails 4 Devise始终重定向到Show Model的动作

来自分类Dev

带有Devise的Rails应用程序对session_id和Remember_user_token的使用之间的区别

来自分类Dev

从devise的sign_up页面中删除“注销”链接

来自分类Dev

Rails-4 Devise +无法隐藏编辑和销毁链接

Related 相关文章

  1. 1

    带有Devise on Rails 3的注销链接

  2. 2

    带有Devise的Rails 3.2:注销链接停止工作

  3. 3

    Devise注销链接问题(Rails4)

  4. 4

    Devise注销链接问题(Rails4)

  5. 5

    带有Rails和Devise的STI

  6. 6

    带有Office 365的Ruby Rails Devise和SAML

  7. 7

    使用带有Rails URL链接的代理

  8. 8

    Ruby on Rails Devise-无法注销

  9. 9

    Rails / Devise:在用户会话销毁时强制注销并重定向所有页面

  10. 10

    将Discourse SSO与带有Devise的现有Rails站点合并

  11. 11

    ROR:如何使Devise注销链接图像?

  12. 12

    ROR:如何使Devise注销链接图像?

  13. 13

    如何创建带有Rails的pdf文件的链接?

  14. 14

    带有永久链接/令牌URL的Rails多态注释

  15. 15

    在Rails内部带有参数的自定义链接

  16. 16

    如何使用带有Rails 4的Foundation紧密链接?

  17. 17

    如何将带有Devise的Rails应用程序转换为OAuth提供程序?

  18. 18

    带有Devise的Rails 4回形针,文件保存错误

  19. 19

    无法在带有Rails 4的生产环境中使用devise登录

  20. 20

    如何使用Devise in Rails4测试登录/注销用户

  21. 21

    Rails / Devise:优雅地要求用户登录已注销的创建

  22. 22

    带有bootstrap3行类的Ruby on Rails foreach

  23. 23

    Multiselect Rails 3,带有Javascript的默认选择

  24. 24

    带有Java语言的Rails 3嵌套模型表单

  25. 25

    Rails内联表单,带有带有Bootstrap 3的form_tag

  26. 26

    带有after_sign_in_path_for(resource)的Rails 4 Devise始终重定向到Show Model的动作

  27. 27

    带有Devise的Rails应用程序对session_id和Remember_user_token的使用之间的区别

  28. 28

    从devise的sign_up页面中删除“注销”链接

  29. 29

    Rails-4 Devise +无法隐藏编辑和销毁链接

热门标签

归档