0

Rails新手。我在我的Rails應用程序中有一個名爲Admin的模型。當我試圖刪除會議我得到無路線匹配錯誤。
我已創建的會話控制器來管理以下嘗試在Rails中刪除會話時出錯

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

您是否在更新所有內容後重新啓動服務器? – Casper 2014-09-20 16:19:05

+0

@Casper是的。我做了,但結果相同 – bhanu 2014-09-20 16:20:28

回答

0

您可以在資源的同時定義資源。您不依賴於特定的ID,因此它總是應該使用一個資源(DELETE/admin_sessions/id與DELETE/admin_sessions)進行響應。將您的路線資源更改爲資源,它將起作用。

+0

當我將它從資源更改爲資源,因爲@ konole告訴我出現如下新錯誤**未定義的局部變量或方法'new_admin_session_path'**對於視圖中的一行<%= link_to 「登錄」,new_admin_session_path%> – bhanu 2014-09-20 16:37:15

+0

在終端輸入「rake routes」,並檢查helper的適當變量(ofc add _path結束) – konole 2014-09-20 16:59:20

相關問題