ActionView::Template::Error 对象不支持

3

我一直在苦苦寻找这个问题的答案,但显然我还没有找到。我尝试编写我的第一个小程序,我可以轻松地打开服务器,但是当我打开它时,服务器告诉我:

TypeError: 对象不支持此属性或方法 提取源代码(大约在第7行左右):

    CTYPE html>
<html>
  <head>
    <title>Programar101</title>
    <%= csrf_meta_tags %>

    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>

  <body>
    <%= yield %>
  </body>
</html>

在我的命令提示符中,当出现错误时,它会给我这个:
ActionView::Template::Error (TypeError: Object doesn't support this property or method):
    4:     <title>APP</title>
    5:     <%= csrf_meta_tags %>
    6:
    7:     <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    8:     <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
    9:   </head>
   10:

app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb__332994069_78270120'
  Rendering C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout
  Rendering C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_source.html.erb
  Rendered C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_source.html.erb (60.1ms)
  Rendering C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb
  Rendered C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (32.6ms)
  Rendering C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb
  Rendered C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (3.0ms)
  Rendered C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (5146.8ms)

先提前感谢您。


由于错误来自样式表包含行,请问您能否将您的样式表添加到问题中? - sevenseacat
2个回答

1
我认为这个SO post提供了一些很好的细节来理解这个问题。我遇到了同样的问题,跟踪堆栈发现问题出在execjs上。然而,不同的是更改runtimes.rb并不能解决问题。删除//= require_tree .可以解决问题,但这并不是正确的解决方案,只是一个快速修复。
一个行之有效的解决方案是安装Node,我听说这可以解决问题。我可以确认这对我有用。我认为这与runtimes.rb文件有关,以及Windows默认的JS环境不太好的原因。

这不是同样的错误,所以我怀疑修复方法也不一样。 - sevenseacat
我不确定是否是同样的错误,因为我的错误与此错误相同,即样式表加载存在问题,但是当我从application.js中删除//= require_tree .时,问题就消失了。快速修复解决方案是相同的。 - Sticky
这是另一种避免问题而不实际修复它的方法。如果你想在你的应用程序中使用JavaScript,就不要这样做。 - sevenseacat
好的,我在尝试了更多的事情并澄清后,改变了我的答案。请不要投反对票,我会尽力的。 - Sticky

-2

你需要在第6行和第7行将“application”更改为“default”。

<%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'default', 'data-turbolinks-track': 'reload' %>


这是明显错误。错误可能会消失,但现在你的应用程序将没有任何样式表/JavaScript。 - sevenseacat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接