ruby-on-rails - session Controller 中的 Rails 3 注销路由

标签 ruby-on-rails routes

我一直在有条不紊地阅读《Rails 敏捷 Web 开发》一书。到目前为止没有任何问题,直到我遇到使用 session Controller 进行注销的开发。我只是想让 destroy 方法在 session Controller 中工作。这是我所拥有的:

sessions_controller.rb

def destroy
  session[:user_id] = nil
   redirect_to store_url, :notice => "Logged out"
end

路线.rb

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

我重置服务器并可以使用 localhost:3000/login 登录,但是如果我尝试 localhost:3000/logout 我会收到以下路由错误:没有路由匹配“/logout”

非常感谢任何帮助,因为我一直在网上挖掘试图找到答案。

最佳答案

我相信

delete 'logout' => :destroy

应该是

get 'logout' => :destroy

post 'logout' => :destroy

取决于您如何处理该行为。您很可能想要get

关于ruby-on-rails - session Controller 中的 Rails 3 注销路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6182328/

相关文章:

mysql - Ruby on Rails mysql 迁移使用时区而不是日期时间

ruby-on-rails - 使用Devise 1.3验证JSON登录请求

ruby-on-rails - 为什么我会收到错误 `undefined method ' map'`?

Symfony:在开发环境中生成产品 URL

ruby - 在公共(public)基本路线之上构建路线?

ruby-on-rails - 过滤一个有很多参数的数组 "like an SQL query"

mysql - 如何在 Rails 中执行用户输入

ruby-on-rails - 创建新的Rails Action 行不通吗?

python - 如何在 python 中的 webob 中的 HttpRedirect 或 HttpFound 中发送 post 变量?

laravel - 如何运行 php artisan 优化 :clear on laravel dockerized app via kubernetes