代码之家  ›  专栏  ›  技术社区  ›  Ilja KO

Ruby on Rails中Heroku错误地调用了注销路径

  •  0
  • Ilja KO  · 技术社区  · 6 年前

    我有这个链接在 _header.html.erb标题

    ...
    <li><%= link_to "Log out", logout_path, method: :delete %></li>
    ...
    

    我的注销路径是在键入 rails routes :

    logout    DELETE      /logout(.:format)           sessions#destroy
    

    现在它只在本地运行,但在Heroku上却不起作用。问题是,在Heroku上,它试图推断注销路径上的GET:

    2018-08-17T16:34:16.490731+00:00 app[web.1]: (...) Started GET "/logout" for 84.147.254.28 at 2018-08-17 16:34:16 +0000
    2018-08-17T16:34:16.491804+00:00 app[web.1]: (...) ActionController::RoutingError (No route matches [GET] "/logout"):
    2018-08-17T16:34:16.492143+00:00 app[web.1]: (...) vendor/bundle/ruby/2.4.0/gems/actionpack-5.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
    

    本地日志:

    Started DELETE "/logout" for 127.0.0.1 at 2018-08-17 18:44:51 +0200
    

    谢谢您,

    编辑:

    我的

    //= require jquery
    //= require bootstrap
    //= require rails-ujs
    //= require turbolinks
    //= require_tree .
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Ilja KO    6 年前

    我现在发现了错误:因为我都知道这是一个JS错误。我这边的问题是public/assets文件夹中的JS文件太多。我只需要删除我的资产文件夹,并再次预编译资产。以前我喜欢6个JS文件和3个CSS文件,现在删除和预编译后只有1个JS和1个CSS文件,没有任何冲突或导致错误:)

    如果有人想出了一个解决方案的意见,在这里,但否则这是解决我的问题。