我目前正在rails项目中使用spinejs和eco模板系统。它在我的Mac上完美运行,但是当我在Windows上部署它时会出现奇怪的缩进错误。代码是:
<div class="contacts">
<% for contact_record in @unchecked_contact_records : %>
<%= contact_record %><br>
<% end %>
</div>
错误信息是:
ExecJS::ProgramError in Admin#dashboard
Showing C:/Users/rayshih.mama-PC/workspace/showwin_ror_1_5/app/views/layouts/application.html.erb where line #6 raised:
Error: Parse error on line 2: Unexpected 'INDENT'
(in C:/Users/rayshih.mama-PC/workspace/showwin_ror_1_5/app/assets/javascripts/admin/views/dashboard/contacts.jst.eco)
Extracted source (around line #6):
3: <head>
4: <title>Show Win Printing Service</title>
5: <%= stylesheet_link_tag "application" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
9: <body>
我认为这只是块语句中的问题,但是通过这个实验:
<div class="contacts">
<% if true: %>
<%= "hello world" %><br>
<% end %>
</div>
在这个实验中,没有错误。所以这不是一个块语句错误。好像它只发生在for循环语句中,但为什么呢?
答案 0 :(得分:2)
这是一个众所周知的问题:https://github.com/sstephenson/eco/issues/29
我按照其中一位评论者的说明安装了节点:http://nodejs.org/ 节点会自动添加到您的路径中,因此一旦您通过在命令提示符下键入“node”来检查节点是否在路径中,请重新启动您的rails服务器并将其修复。