没有路线匹配[GET]" / sessions / 1"错误

时间:2015-08-22 22:04:25

标签: ruby-on-rails twitter-bootstrap

自从我在我的项目中实现bootstrap后,我遇到了一些奇怪的错误。目前我无法注销,因为DESTROY请求正在被GET请求替换。这个完全相同的链接工作正常,直到我做了我的菜单引导程序。这是链接:

<li><a href="<%= session_path(current_user.id)%>">Logout</a></li>

这是会话控制器中的内容:

    def destroy
        log_out
        redirect_to root_path
    end

这是我的路线的样子: enter image description here

解决此问题的最佳方法是什么?将method: :delete添加到链接不起作用。谢谢!

更新:

这是我的捆绑exec rake路由| grep会话: enter image description here

这是我的routes.rb:

Rails.application.routes.draw do
 root to: 'application#home'
 resources :users
 resources :sessions, only: [:new, :create, :destroy] 
end

1 个答案:

答案 0 :(得分:1)

破坏性操作应作为表单提交执行 - here

<%= button_to "delete", session_path(current_user.id), :method=>:delete, :class=>:destroy %>

另外,添加你的

  <%= csrf_meta_tags %>

如果您没有,请进行布局。我不知道bootstrap可能是一个什么问题,但标签肯定是。它们可以区分来自路径的DELETE和GET请求。