我试图在管理员端添加注销链接,但它似乎正在执行get请求,即使我特意将其指定为删除请求。
注意:顺便说一下,我没有使用Devise,我故意不在此项目中使用它。
<%= link_to session_path(current_user), method: :delete do %>
<%= fa_icon "sign-out" %>
Logout
<% end %>
这是我在管理导航栏上使用的代码。它也与网站前端使用的代码相同,但前端的代码也可以使用。它成功地将用户注销。但在管理方面,它引发了这个错误。
这是在网站前端使用的,它的工作原理。
<%= link_to "log out", session_path(current_user), method: :delete %>
这是我的路线文件中的内容:
resources :sessions, only: [:new, :create, :destroy]
这是路径格式:
session DELETE /sessions/:id(.:format) sessions#destroy
这是破坏方法:
def destroy
cookies.delete(:auth_token)
redirect_to root_url, notice: "Logged out!"
end
任何人都可以看到从管理员端退出的问题是什么?
注意:顺便说一下,我没有使用Devise,我故意不在此项目中使用它。
编辑1: 好吧我正在思考&#34; Uncaught Error:Bootstrap的JavaScript需要jQuery&#34;这导致了错误。我在Bootstrap之前需要Jquery所以我不知道这里发生了什么。
答案 0 :(得分:0)
试试这个
<%= link_to content_tag(:i, "Sign Out", :class => "fa fa-#{icon_name}"), session_path(current_user), method: :delete %>
OR
<%= link_to content_tag(:i, fa_icon("sign-out", text: "Sign Out")), session_path(current_user), method: :delete %>
答案 1 :(得分:0)
所以我发现了问题。我忘记了包括
<%= javascript_include_tag 'admin_application' %>
在我的admin_application.html.erb文件中,这意味着没有包含jquery。现在它是,注销链接工作。耶!