javascript_include_tag会抛出不受支持的方法

时间:2015-02-27 22:25:36

标签: ruby-on-rails ruby-on-rails-4 turbolinks

我最近使用Rails 4.2.0创建了一个新项目,并为着陆页创建了一个名为Land的控制器。所以,我在访问http://localhost:3000/land/home时遇到了这个错误:

Started GET "/" for ::1 at 2015-02-27 15:56:23 -0600
Processing by LandController#home as HTML
Rendered land/home.html.erb within layouts/application (0.0ms)
Completed 500 Internal Server Error in 5526ms

ActionView::Template::Error (TypeError: Object doesn't support this property or method
(in C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/turbolinks-2.5.3/lib/assets/javascripts/turbolinks.js.coffee)):
3: <head>
4:   <title>Course</title>
5:   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
6:   <%= javascript_include_tag 'application' %>
7:   <%= csrf_meta_tags %>
8: </head>
9: <body>
app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__1279127835_98590860'


Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_source.erb (5.0ms)

Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_trace.html.erb (10.0ms)

Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_request_and_response.html.erb (1.0ms)

Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/_web_console.html.erb (2.0ms)

Rendered C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/web-console-2.0.0/lib/action_dispatch/templates/rescues/template_error.html.erb within rescues/layout (72.0ms)

有没有办法摆脱这个错误?或者这是一个错误?

3 个答案:

答案 0 :(得分:16)

我最近找到了解决此问题的另一种解决方案。 gem 'coffee-script-source'中的1.9.0Windows上与Rails存在一些问题。我在Gemfile中使用gem 'coffee-script-source', '1.8.0'恢复到以前的版本,这将解决您的问题。

解决此异常的另一种方法是在您的计算机上安装Node.js,并且在安装&amp; amp;之后错误应该消失。重新启动rails server。确保在重新启动终端之前将Node.js添加到PATH中并重新运行服务器。

答案 1 :(得分:4)

啊,好像你错过了

//= require turbolinks

在你的application.js

有关删除turbolink的信息,请参阅this(显然,如果您希望它运行,请确保它已全部到位)。

答案 2 :(得分:4)

我正在运行Windows 10,Ruby 2.1.7p400和Rails 4.2.4。我无法在版本1.9.1.1上安装gem coffee-script-source '1.8.0'作为gem安装。我尝试更改ExecJS以使用UTF-8编码并运行带有// U开关的cscript,如同this帖子一样,没有任何运气。

我最终将nodejs.exe放在Ruby \ bin文件夹中,问题得到了解决。