3

私は最近、奇妙な問題またはRails 3に遭遇しました。おそらく、新しいrubygems1.5のアップデート以降です。基本的に、パッセンジャー3.0.2を使用してプログラムをnginxにデプロイすると、すぐに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を含め、すべてのgemを最新バージョンにアップグレードしましたが、この問題とはあまり関係がないようです。また、gem 1.5の前にVMwareのubuntuに同じものをデプロイしていましたが、今でもすべてが正常ですが、新しいデプロイメントに戻ることはありません。

私はこれを最新のubuntuを実行している2台のマシンにデプロイしましたが、両方のマシンにそのようなエラーがあります。Nginxとpassengerは標準の手順でインストールされます。明らかに、この問題ではサイトを実行できません。誰かがこれに対するバグ修正を提供できますか?よろしくお願いします!

PS:私が書いたログインページは基本的にここからです:http: //railstutorial.org/chapters/sign-in-sign-out#top

4

3 に答える 3

10

config / boot.rbファイルに次の2行を追加すると、問題は解決しました。

require 'yaml'
YAML::ENGINE.yamler= 'syck'
于 2011-02-09T16:39:34.817 に答える
1

私も同じ問題を抱えていました。実際、私は最初の行だけが必要でした:

require 'yaml'

YAML::Engineを特別に設定する必要はありません。

于 2011-08-31T13:59:34.060 に答える
0

TextMateの「View/Showinvisibles」のようなyaml構文オプションの問題は、構文の問題を見つけるのに非常に役立つ場合がありますが、yamlはそれについて非常に敏感です。私の場合、すべてのタブをすべてのロケールファイルのスペースに置き換える必要がありました。また、同じレベルに同じ名前のノードがない場合にも注意してください。

于 2012-02-03T13:49:55.267 に答える