繁体   English   中英

Ruby on Rails的生成文件中的错误

[英]Error in generated files of Ruby on Rails

首先,我通过RailsInstaller提供的快捷方式使用Ruby和Rails打开Windows命令提示符。 首先,我使用以下命令创建一个新的Ruby on Rails应用程序。 我称它为“ curso”

rails new curso

之后,我导航到项目文件夹C:\\Sites\\prueba并启动WEBrick服务器,如下所示:

rails s

我转到localhost:3000 ,测试页运行完美。

之后,我将项目导入NetBeans。 然后,我打开命令提示符并创建一个新的控制器,如下所示:

rails g controller miprueba index

我检查了由Rails生成的Views/layouts/application.html.erb文件,它看起来像这样:

<!DOCTYPE html>
<html>
  <head>
    <title>Prueba</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>

NetBeans在第7行显示一个错误。它显示了Unexpected ':' 在第8行中发生相同的错误。

如果尝试运行该应用程序,则在localhost:3000/miprueba/index ,我将收到一个标题为“操作控制器:捕获到异常”的错误页面。 它说:

ExecJS::ProgramError in Miprueba#index
Showing C:/Sites/prueba/app/views/layouts/application.html.erb where line #7 raised:

TypeError: El objeto no acepta esta propiedad o método

最后一行大致表示“对象不接受该值或方法”。

如果删除第7行和第8行,应用程序运行正常,但是我很好奇为什么生成这两行以及为什么它们会失败。

NetBeans引发的第一个错误可能是红色鲱鱼。 unexpected ':'有关的错误与在隐式哈希中的转义符号上使用冒号哈希语法有关。 ERB从技术上讲不是红宝石,因此NetBeans可能会感到困惑。

真正的错误与在Windows的Rails上运行ruby有关。 该错误实际上是由javascript运行时而不是rails引发的。 简短的答案是,您可以安装NodeJS并用与Rails兼容的运行时替换现有的运行时。 或者您可以按照此处的说明进行操作:

execjsruntimeerror式窗口

Windows上的Rails很难。 祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM