Последние Rails 3: ActionView :: Template :: Error (не удалось проанализировать YAML в строке 105 столбца 13) - PullRequest
3 голосов
/ 09 февраля 2011

Недавно я столкнулся со странной проблемой или с Rails 3, возможно, со времени нового обновления rubygems 1.5. В основном, когда я развертываю свою программу в nginx с пассажирской версией 3.0.2, у меня сразу 500 страниц и такие проблемы в моем рабочем журнале:


ActionView::Template::Error (couldn't parse YAML at line 105 column 13):
    10: </div>
    11: <% end %>
    12: <div class="field">
    13:     <%= f.label :name %> <%= f.text_field :name %>
    14: </div>
    15: <div class="field">
    16:     <%= f.label :password %> <%= f.password_field :password %>
  app/views/sessions/new.html.erb:13:in `block in _app_views_sessions_new_html_erb___4159562374589718885_19217640_4456777064017176818'
  app/views/sessions/new.html.erb:5:in `_app_views_sessions_new_html_erb___4159562374589718885_19217640_4456777064017176818'

Похоже, что в окружающей среде чего-то не хватает, и поэтому он не может распознать все мои элементы form_for. По сути, страница представляет собой простую страницу входа в систему с 2 полями - имя и пароль. Эта проблема также возникает для других страниц с формами, но только в производственной среде. В среде разработки все работает нормально. Я обновил все свои драгоценные камни до последней версии, включая rails 3.0.4, которая, однако, выглядит не совсем связанной с этой проблемой. Я также использовал для развертывания ту же вещь в Ubuntu на моем VMware ДО gem 1.5, теперь все по-прежнему в порядке, однако для новых развертываний нет пути назад.

Я развернул это на 2 машинах с последней версией Ubuntu, и на обеих машинах есть такие ошибки. Nginx и пассажир устанавливаются со стандартными шагами. Очевидно, что с этой проблемой сайт никогда не сможет работать. Кто-нибудь может предоставить какое-либо исправление ошибки для этого? Большое спасибо, если бы вы могли!

PS: страница входа, которую я написал, в основном отсюда: http://railstutorial.org/chapters/sign-in-sign-out#top

Ответы [ 3 ]

10 голосов
/ 09 февраля 2011

Я добавил следующие две строки в файл config / boot.rb, и проблема была решена.

require 'yaml'
YAML::ENGINE.yamler= 'syck'
1 голос
/ 31 августа 2011

У меня была такая же проблема.На самом деле мне нужна была только первая строка:

require 'yaml'

Не нужно специально устанавливать YAML :: Engine.

0 голосов
/ 03 февраля 2012

Для проблем с параметрами синтаксиса yaml, такими как «Просмотр / отображение невидимых» в TextMate, может быть очень полезно найти проблемы синтаксиса, yaml очень чувствителен к этому.В моем случае мне просто пришлось заменить все вкладки пробелами во всех файлах локали.Также обратите внимание, если у вас нет узлов с одинаковым именем на одном уровне.

...