gpt4 book ai didi

ruby-on-rails - 没有路由匹配 [GET] "/logout"?

转载 作者:行者123 更新时间:2023-12-04 06:11:36 27 4
gpt4 key购买 nike

Rails.application.routes.draw do
root to: 'users#index'
get '/login', to: 'sessions#new'
post '/login', to: 'sessions#create'
delete '/logout', to: 'sessions#destroy'
resources :users
end

<% if logged_in? %>
<li><%= link_to "Sign out", logout_path, method: :delete %>
<% end %>

gem 文件
gem 'jquery-rails'
gem 'rails', '4.2.2'
gem 'turbolinks'


//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

这是一个javascript问题吗?它似乎不想识别方法::delete?

这是我的 application.html.erb 文件:
<!DOCTYPE html>
<html>
<head>
<title>Workspace</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

有没有其他方法可以将 method::delete 传递给路由?

最佳答案

正在发生两件事之一:

  • <a>呈现的元素不包含 data-method UJS 要锁定的属性。也许缓存了一个陈旧的版本,或者您正在查看不同的 View ?最简单的检查方法是弹出您的网络检查器或查看源代码并确认相关链接上是否存在该属性。
  • UJS 不处理元素上的点击。这可能是由于 JS 错误导致执行停止,但也可能是您注册的另一个点击处理程序优先。检查您的 JS 控制台是否有错误以消除潜在原因,如果没有,请验证 UJS 脚本是否在您的“源”面板中:

    enter image description here

    如果它存在,并且行为相同,请尝试在 handleMethod 上添加断点在 UJS 中运行并再次运行。如果它被触发,请逐步查看导致失败的情况。如果它没有被触发,您可以从那里备份并查看链接上的其他处理程序。

    [ breakpoint ]
  • 关于ruby-on-rails - 没有路由匹配 [GET] "/logout"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44050190/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com