3

私は現在、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ループステートメントでのみ発生するようですが、なぜですか?

4

1 に答える 1

2

これは既知の問題です: https ://github.com/sstephenson/eco/issues/29

コメント投稿者の1人の指示に従い、ノードをインストールしました。http: //nodejs.org/ ノードはパスに自動的に追加されるため、コマンドプロンプトで「node」と入力してノードがパスにあることを確認したら、再起動します。 Railsサーバーとそれを修正する必要があります。

于 2012-04-18T14:29:49.007 に答える