2011-02-09 56 views
3

我最近遇到了一個奇怪的問題或Rails 3,可能自從新的rubygems 1.5更新以來。基本上當我部署我的程序與乘客3.0.2 nginx的,我馬上500頁和問題,如這在我的生產日誌:最新的Rails 3:ActionView :: Template :: Error(無法解析YAML在105行第13列)


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元素。基本上這個頁面只是一個簡單的登錄頁面,有兩個字段 - 名稱和密碼。使用表單的其他頁面也會發生此問題,但只能在生產環境中使用。在開發環境中,它完全正常工作。我已將所有寶石升級到最新版本,包括Rails 3.0.4,但看起來與這個問題不太相關。我也習慣在我的VMware BEFORE gem 1.5上將相同的東西部署到Ubuntu上,現在一切都還好,但是新部署沒有退路。

我已經部署到2臺機器運行最新的Ubuntu,並且這兩臺機器都有這樣的錯誤。 Nginx和乘客安裝了標準步驟。顯然,這個問題的網站永遠不能運行。任何人都可以提供任何錯誤修復?如果可以,非常感謝!

PS:我寫的登錄頁面基本上是從這裏: http://railstutorial.org/chapters/sign-in-sign-out#top

+0

你能發佈完整的錯誤堆棧跟蹤嗎? IRC軌道本來是一個更好的地方來調試。 – anshul 2011-02-09 11:28:14

回答

10

添加以下兩行到config /的boot.rb文件和問題得到解決。

require 'yaml' 
YAML::ENGINE.yamler= 'syck' 
+0

謝謝,它的工作就像魅力!順便說一句,我應該把'開始'之後或之前的第二行嗎? – wlicpsc 2011-02-09 19:56:57

1

我有同樣的問題。其實我只需要第一行:

require 'yaml' 

沒有必要專門設置YAML :: Engine。

0

對於像TextMate中的'View/Show invisibles'這樣的yaml語法選項的問題,可能對查找語法問題非常有幫助,yaml對此非常敏感。 在我的情況下,我只需要用所有語言環境文件中的空格替換所有選項卡。 另請注意,如果在同一級別上沒有具有相同名稱的節點。

相關問題