自从我在我的项目中实现bootstrap后,我遇到了一些奇怪的错误。目前我无法注销,因为DESTROY请求正在被GET请求替换。这个完全相同的链接工作正常,直到我做了我的菜单引导程序。这是链接:
<li><a href="<%= session_path(current_user.id)%>">Logout</a></li>
这是会话控制器中的内容:
def destroy
log_out
redirect_to root_path
end
解决此问题的最佳方法是什么?将method: :delete
添加到链接不起作用。谢谢!
更新:
这是我的routes.rb:
Rails.application.routes.draw do
root to: 'application#home'
resources :users
resources :sessions, only: [:new, :create, :destroy]
end
答案 0 :(得分:1)
破坏性操作应作为表单提交执行 - here
<%= button_to "delete", session_path(current_user.id), :method=>:delete, :class=>:destroy %>
另外,添加你的
<%= csrf_meta_tags %>
如果您没有,请进行布局。我不知道bootstrap可能是一个什么问题,但标签肯定是。它们可以区分来自路径的DELETE和GET请求。