【问题标题】:Extremely rare haml error极其罕见的haml错误
【发布时间】:2011-08-11 19:14:28
【问题描述】:

我目前正在尝试在生产服务器上部署 Ruby on Rails 3.0.9 应用程序。一切似乎都很顺利,直到乘客给出“我们很抱歉,但出了点问题”。请求网站时出错。

生产日志显示此错误:

在布局/应用程序中渲染会话/new.html.haml (5.7ms)

在 8 毫秒内完成 500 个内部服务器错误

ActionView::Template::Error(第 7 行,第 7 列的语法错误:`'):

2: %h2 登录 3: = form_for( :sessions, :url => session_path) 做 |f|

4: .字段

5: = f.label :email

6: %br/

7: = f.text_field :email

8: .字段

app/views/sessions/new.html.haml:5:in
_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 :password 行会使此错误消失,但这显然不是修复 *

有关此错误的一些信息:

  • 我在 windows 上使用 aptana 开发
  • 一位在 Mac 上处理此项目的联合开发人员不久前遇到了此错误,但使用 gemsets 和 rvm 的一些未知魔法修复了此问题。
  • 生产服务器捆绑列表:http://pastie.org/private/0itpfmbfwqvhpheptqz4ha
  • Github 存储库:http://github.com/boersmamarcel/Into-Reality-Portal
  • 我正在使用 capistrano 2.0 及其捆绑配方进行部署
  • 类似的错误也出现在其他视图上,但不知何故此错误也指向文件的第 7 行,并且错误消息有时会在后面显示随机字符串

    第 7 栏:

  • 我无法在生产服务器上管理全局 gemset
  • 奇怪的事实:如果我删除 = f.label :password 和 = f.label :email 行,错误就消失了 :s

如果有人可以帮助我,我会非常感激不尽。我们整天都在处理这个错误,这让我发疯了。

谢谢 - 巴斯


编辑:f.label 函数似乎是导致问题的原因。我上传了一个精简版的视图,它产生了以下错误: http://pastie.org/private/cqqipdvqod3r50x9ciwytq 此应用程序可在其他基于 mac 和基于 windows 的计算机上成功运行。

【问题讨论】:

    标签: ruby-on-rails passenger haml capistrano sass


    【解决方案1】:

    如果您完全复制了上面的内容,那么 %br 的尾部斜杠是做什么用的?如果您在 HTML(而不是 XHTML)中渲染它,则尾部斜杠不再有效。我不知道这是否重要,但有时斜线字符会以奇怪的方式抛出 HAML。

    【讨论】:

      【解决方案2】:

      在这个错误困扰了几个小时之后,结果证明是 I18n gem 导致了这个问题。 我的 en.yml 中有一个未封闭的实体,如下所示:

      en:
        time:
          formats:
            hourminute: "%H:%M"
        date:
      

      删除 date: 部分解决了这个问题 - 在我看来 - 非常模糊的错误

      感谢所有在这个问题上使用他们的大脑周期的人:)!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-08
        • 2017-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多