Rails的新手。我的rails应用程序中有一个名为Admin的模型。当我试图删除会话时,我得到无路线匹配错误 我创建了会话控制器来管理如下所示的会话
class AdminSessionsController < ApplicationController
before_action :confirm_logged_in, :except => [:new, :create, :destroy]
def destroy
session[:admin_id] = nil
flash[:notice] = "You are now logged out"
render("new")
end
end
我在routes.rb中定义的路由
resources :admin_sessions, only: [:new, :create, :destroy]
我在其他视图中有链接删除会话
<%= link_to "Sign out", :controller => "admin_sessions", :action => "destroy" %>
我收到以下错误
No route matches {:action=>"destroy", :controller=>"admin_sessions"}
请帮助别人!
答案 0 :(得分:0)
您可以在资源的同时定义资源。您不依赖于特定的ID,因此它始终应该使用一个资源(DELETE / admin_sessions / id vs DELETE / admin_sessions)进行响应。将您的路径资源更改为资源,它将起作用。