Множество синтаксических ошибок в представлении HAML (с использованием движка spree) - PullRequest
0 голосов
/ 10 января 2012

У меня есть это простое представление HAML, admin.html.haml:

!!!
%html{:xmlns => "http://www.w3.org/1999/xhtml"}
  %head{"data-hook" => "admin_inside_head"}

(вид довольно большой, большую часть я удалил для ясности)

Переходя к http://localhost:3000/admin Я получаю:

SyntaxError in Spree/admin/overview#index

Showing /Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml where line #2 raised:

/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:2: syntax error, unexpected '=', expecting ')'
...ut.attributes({}, nil, :xmlns => "http://www.w3.org/1999/...
...                               ^
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:2: syntax error, unexpected ')', expecting '}'
..."http://www.w3.org/1999/xhtml")}>\n  <head#{_hamlout.adjust_...
...                               ^
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:3: syntax error, unexpected '=', expecting ')'
...tributes({}, nil, "data-hook" =&gt; "admin_inside_head")}></...
...                               ^
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:3: syntax error, unexpected ')', expecting '}'
...ook" =&gt; "admin_inside_head")}></head>\n</html>\n", -1, fa...
...                               ^
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:3: unknown regexp options - htl
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:3: syntax error, unexpected $undefined
...nside_head")}></head>\n</html>\n", -1, false);::Haml::Util.h...
...                               ^
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:3: unterminated string meets end of file
/Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml:3: syntax error, unexpected $end, expecting '}'
Extracted source (around line #2):

1: !!!
2: %html{:xmlns =&gt; "http://www.w3.org/1999/xhtml"}
3:   %head{"data-hook" =&gt; "admin_inside_head"}
Trace of template inclusion: /Users/panayi/Dropbox/Sites/RAILS/engines/core/app/views/spree/layouts/admin.html.haml

гем haml загружен корректно (в отличие от отступа представления haml, я получаю Haml :: SyntaxError), и он работал нормально с представлениями erb, прежде чем переключать представления spree в haml.

Может кто-нибудь подсказать, что проверить, чтобы устранить ошибки?

1 Ответ

4 голосов
/ 11 января 2012

Я заметил проблему:

Spree использует deface , что несовместимо с HAML (см здесь )

Решение состоит в том, чтобы отключить deface в конфигурационном файле для конкретной среды (development.rb, production.rb и т. Д.). Добавьте это:

  # Disable deface
  config.deface.enabled = false 
...