首先,我通过 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
我检查了Views/layouts/application.html.erb
由 Rails 生成的文件,它看起来像这样:
<!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
,我会看到一个标题为“Action Controller: Exception catched”的错误页面。它是这样说的:
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 上运行 ruby on rails 有关。该错误实际上是由 javascript 运行时抛出的,而不是 Rails。简短的回答是,您可以安装 NodeJS 来用与 Rails 兼容的运行时替换现有的运行时。或者您可以按照此处的说明进行操作:
Windows 上的 Rails 很难。祝你好运!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句