我最近遇到了一个奇怪的问题或 Rails 3,可能是在新的 rubygems 1.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 个字段 - 名称和密码。其他带有表单的页面也会出现此问题,但仅在生产环境中。在开发环境中,它完全可以正常工作。我已将所有 gem 升级到最新版本,包括 rails 3.0.4,但它看起来与这个问题不太相关。在 gem 1.5 之前,我也曾经在我的 VMware 上的 ubuntu 上部署相同的东西,现在一切都很好,但是新的部署没有回头路。
我已经将它部署到 2 台运行最新 ubuntu 的机器上,两台机器都有这样的错误。Nginx 和passenger 都是按照标准步骤安装的。显然,有了这个问题,该站点将永远无法运行。任何人都可以为此提供任何错误修复吗?如果可以的话,非常感谢!
PS:我写的登录页面基本上来自这里: http ://railstutorial.org/chapters/sign-in-sign-out#top