3

我目前在 rails 项目中使用 spinjs 和 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 循环语句中,但为什么呢?

4

1 回答 1

2

这是一个已知问题: https ://github.com/sstephenson/eco/issues/29

我按照其中一位评论者的说明安装了节点:http ://nodejs.org/ 节点会自动添加到您的路径中,因此一旦您通过在命令提示符下键入“node”检查节点是否在路径中,请重新启动您的rails 服务器,它应该被修复。

于 2012-04-18T14:29:49.007 回答