2013-04-12 23 views
2

我仍然無法完成路由。我想要的只是logout行動實際登錄某人。這裏是我的嘗試:如何使用Rails中的方法DELETE進行/登出路由/登錄

resource :login, controller: "sessions" do 
    collection do 
    get 'new' 
    get 'create' 
    end 
end 

match '/logout', :to => 'login', :controller => "sessions", :action => :destroy, :method => :delete 

所以你看我這sessions控制器,而我把它稱爲「登錄」。但是,這使我的鏈接:

<%= link_to "Log Out", login_path, :method => :delete %> 

我有沒有問題,只有我與使用我的網站作爲SSO外部網站的整合。我需要提供一個「註銷」鏈接給他們。所以我希望它只是「註銷」。

+0

爲什麼我沒有想到這一點?吉茲。我只是將名稱從銷燬改爲註銷。請將此作爲答案,以便我可以將其關閉並授予您答案。 – AKWF

+0

完成並刪除評論。 –

回答

2

你就不能讓你的會話控制器logout行動,摧毀了會議嗎?然後你的路線可以指向會話#註銷

1

也許這就是你要找的東西?

在routes.rb中:

controller :sessions do 
    get 'login' => :new 
    post 'login' => :create 
    delete 'logout' => :destroy 
end 

對於註銷鏈接:

<%= link_to 'Logout', logout_path("current"), method: :delete %> 
+0

完美,這個! –