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