我有一个运行Rails 5.1.5和Devise 4.4.3的应用程序。
我的应用程序中的许多链接都有remote: true
,该链接向控制器提交了:js格式的请求,该控制器已将authenticate_user!
设置为before_action。
控制器将JS请求重定向到user_sessions#new
(Devise),这似乎不知道如何处理。
如何修改标准Devise安装以处理被authenticate_user!
捕获的未经身份验证的JS请求?
答案 0 :(得分:0)
根据是否登录的用户切换remote: true
<%= link_to post_likes_path(post), method: :post, remote: user_signed_in? %>
基本上,当用户登录时,您将在链接上显示一个版本(带有remote :true
),而当用户未登录时,则显示常规的普通链接。