【问题标题】:ExecJS RuntimeError on Session Logout会话注销时的 ExecJS RuntimeError
【发布时间】:2014-01-23 21:13:24
【问题描述】:

当我尝试查看 localhost:3000 时出现 ExecJS::RuntimeError。它显示:

(in C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/turbolinks-1.1.1/lib/assets/javascripts/turbolinks.js.coffee)

并强调这是主要问题。

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

如果不包含该行,应用程序可以工作(用户注册,用户登录),但注销功能不起作用,我相信我需要包含上述行来引用 /app/assets/javascripts 中的文件

如果没有 javascripts 链接,应用程序可以工作,但任何退出尝试都会产生此错误:

没有路由匹配 [GET] "/signout"

即使我的 /config/routes.rb 文件中有以下内容:

match '/signout', to: 'sessions#destroy', via: 'delete'

/app/assets/javasacripts/application.js

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

【问题讨论】:

  • 你使用的是哪个版本的 ruby​​ 和 rails
  • rails 4.0.2 和 ruby​​ 1.9.3。在我运行rails new application 并立即运行服务器时更新到 4.0.2 后;我在应用程序布局中遇到了同样的问题。
  • 您将应用程序从哪个版本的 Rails 更新到 4.0.2。捆绑包也成功运行了吗?
  • 从 rails 4.0.0 更新。它似乎运行成功,因为它在安装时没有抛出任何错误或崩溃。
  • remove this part ", "data-turbolinks-track" => true",运行 bundle 并尝试。你可以在这里发布你的 application.js

标签: ruby-on-rails session logout


【解决方案1】:

我设法通过删除//= require_tree . 行找到了一种修复它的方法。在进一步研究了错误之后,我发现了另一个(旧)SO 主题,它涉及同一主题,但它没有给出完整的理由该解决方案有效;只是简单地提到,在允许应用程序工作的同时,这是忽略问题而不是解决问题。

【讨论】:

    猜你喜欢
    • 2016-08-19
    • 2018-04-10
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2017-03-04
    • 1970-01-01
    相关资源
    最近更新 更多