2

路线对我来说仍然是难以理解的。我想要的只是logout实际注销某人的操作。这是我的尝试:

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 的外部站点集成之外,我对此没有任何问题。我需要为他们提供一个“注销”链接。所以我希望它只是“注销”。

4

2 回答 2

2

logout你不能在你的会话控制器中做一个动作并在那里销毁会话吗?然后你的路线可以指向 session#logout

于 2013-04-13T12:42:42.963 回答
1

也许这就是你要找的?

在 routes.rb 中:

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

对于注销链接:

<%= link_to 'Logout', logout_path("current"), method: :delete %>
于 2013-04-13T01:54:49.067 回答