Rails 5,Devise:如何处理远程:注销后真正的JS请求

时间:2018-07-10 20:48:40

标签: ruby-on-rails devise ruby-on-rails-5

我有一个运行Rails 5.1.5和Devise 4.4.3的应用程序。

我的应用程序中的许多链接都有remote: true,该链接向控制器提交了:js格式的请求,该控制器已将authenticate_user!设置为before_action。

控制器将JS请求重定向到user_sessions#new(Devise),这似乎不知道如何处理。

如何修改标准Devise安装以处理被authenticate_user!捕获的未经身份验证的JS请求?

1 个答案:

答案 0 :(得分:0)

根据是否登录的用户切换remote: true

<%= link_to post_likes_path(post), method: :post, remote: user_signed_in? %>

基本上,当用户登录时,您将在链接上显示一个版本(带有remote :true),而当用户未登录时,则显示常规的普通链接。