我目前正在尝试在生产服务器上部署Ruby on Rails 3.0.9应用程序。一切似乎都很顺利,直到乘客给出'我们很抱歉,但出了点问题。'请求网站时出错。
生产日志显示以下错误:
在布局/应用程序(5.7ms)内呈现了sessions / new.html.haml
在8毫秒内完成500内部服务器错误
ActionView :: Template :: Error(第7行语法错误,第7栏:`'):
2:%h2登录 3:= form_for(:sessions,:url => sessions_path)do | f |
4:.field
5:= f.label:电子邮件
6:%br /
7:= f.text_field:email
8:.field
应用程序/视图/会话/ new.html.haml:5:在
_app_views_sessions_new_html_haml__1068828667_250539460_0' app/views/sessions/new.html.haml:3:in
_ app_views_sessions_new_html_haml__1068828667_250539460_0'
* 编辑:删除f.label:email和f.label:密码行会使此错误消失,但这显然不是修复*
有关此错误的一些信息:
col 7:
如果有人可以帮助我,我会非常感激。我们一整天都在研究这个错误,这让我疯狂。
由于 - Bas
编辑:f.label函数似乎导致了问题。我上传了一个精简版的视图,它生成了以下错误: http://pastie.org/private/cqqipdvqod3r50x9ciwytq 此应用程序在其他基于mac和基于Windows的计算机上成功运行。
答案 0 :(得分:1)
如果您完全复制了上述内容,那么使用尾部斜杠的%br是多少?如果您在HTML(而不是XHTML)中将其删除,则尾部斜杠不再有效。我不知道这是否重要,但有时斜线角色会以奇怪的方式抛弃HAML。
答案 1 :(得分:0)
在对这个错误感到困惑数小时之后,事实证明I18n宝石造成了这个问题。 我的en.yml中有一个未闭合的实体,看起来像这样:
en:
time:
formats:
hourminute: "%H:%M"
date:
删除date:
部分修复此问题 - 在我看来 - 非常模糊的错误
感谢所有在这个问题上使用他们的脑筋的人:)!