Я использую Sinatra 1.2.0 с Ruby 1.9.2 (мне нужно работать с этой версией Ruby для этого проекта), и я не знаю, почему я сохраняю получаю эту SyntaxError. Я могу воспроизвести эту ошибку при использовании следующего в моем index.erb:
<% @status = "foo" %>
The case is: <br />
<% case @status %>
<% when "foo" %>
It's a FOO!
<% when "bar" %>
It's a BAR!
<% else %>
It's something else...!
<% end %>
Ошибка:
SyntaxError at /
/Users/foo/Workspace/sinatra_case_test/views/index.erb:4: syntax error, unexpected tIVAR, expecting keyword_when ; case @status ; @_out_buf.concat "\n " ^
/Users/foo/Workspace/sinatra_case_test/views/index.erb:5: syntax error, unexpected keyword_when, expecting keyword_end ; when "foo" ; @_out_buf.concat "\n It's a FOO!\n " ^
/Users/foo/Workspace/sinatra_case_test/views/index.erb:7: syntax error, unexpected keyword_when, expecting keyword_end ; when "bar" ; @_out_buf.concat "\n It's a BAR!\n " ^
/Users/foo/Workspace/sinatra_case_test/views/index.erb:13: syntax error, unexpected keyword_ensure, expecting $end
Забавно: упомянутой строки 13 на самом деле нет в index.erb.
Вы можете проверить информацию о приложении на Github. В основном он состоит из упомянутого выше index.erb.
Большое спасибо за вашу помощь!