Ruby on rails 如何使用Rails中的DELETE方法将/logout路由到/login
路线对我来说仍然是难以逾越的。我只想让Ruby on rails 如何使用Rails中的DELETE方法将/logout路由到/login,ruby-on-rails,routing,Ruby On Rails,Routing,路线对我来说仍然是难以逾越的。我只想让注销操作真正将某人注销。以下是我的尝试: resource :login, controller: "sessions" do collection do get 'new' get 'create' end end match '/logout', :to => 'login', :controller => "sessions", :action => :destroy, :method => :dele
注销
操作真正将某人注销。以下是我的尝试:
resource :login, controller: "sessions" do
collection do
get 'new'
get 'create'
end
end
match '/logout', :to => 'login', :controller => "sessions", :action => :destroy, :method => :delete
你看,我有一个会话
控制器,我称之为“登录”。但这使我的链接:
<%= link_to "Log Out", login_path, :method => :delete %>
:删除%>
我没有问题,除了我正在与一个外部站点集成,该站点将我的站点用作SSO。我需要提供一个“注销”链接到他们。所以我希望它只是“注销”。也许这就是你要找的 在routes.rb中:
controller :sessions do
get 'login' => :new
post 'login' => :create
delete 'logout' => :destroy
end
对于注销链接:
<%= link_to 'Logout', logout_path("current"), method: :delete %>
您不能在会话控制器中执行一个注销
操作并在那里销毁会话吗?然后你的路线可以指向会话#注销为什么我没有想到这一点?哎呀。我刚把名字从销毁改为注销。请把这作为一个答案,这样我就可以结束它,并奖励你的分数。完成并删除评论。