【发布时间】:2012-04-11 12:52:37
【问题描述】:
我知道不同网站上有很多关于这个问题的问题。我已经尝试了很多东西,但我仍然无法使用 DELETE 方法的链接。
我创建了一个空的 Rails 应用程序
版本:
- 设计 2.0.4
- 导轨:3.2.2
- 红宝石:1.9.2
- RVM:1.10.3
安装 devise gem 后,我运行了以下命令:
rails generate devise:install
rails generate devise User
我尝试过的修复如下:
初始链接:
<%= link_to "Sign out", destroy_user_session_path %>
我添加了删除方法,在刻度和没有它们:
<%= link_to "Sign out", destroy_user_session_path, :method => 'delete' %>
<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>
将此添加到 application.html.erb:
<%= javascript_include_tag :defaults %>
我在 assets/javascripts/application.js 中取消了这些行的注释:
= require jquery
= require jquery_ujs
我也尝试让 GET 链接正常工作,从 config/initializers/devise.rb 更改了这一行
config.sign_out_via = : delete
到这里:
config.sign_out_via = :get if Rails.env.test?
无论我尝试什么,删除链接都会导致:
No route matches [GET] "/users/sign_out"
GET 链接也不起作用:
没有路线匹配 [GET] "/"
我当然尝试过重启服务器。
Rake 路由包含以下内容:
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
提前致谢。
【问题讨论】:
标签: ruby-on-rails ruby devise