移动到生产服务器的Rails app会出现"符号转储格式错误"错误

17 ruby deployment ruby-on-rails passenger ruby-on-rails-3

我刚刚将rails应用程序从开发移动到部署服务器.我安装了乘客,但我想尝试rails s确保一切正常(这是我第一次开发和部署rails应用程序).

规范是:带有RVM的Ruby 1.9.3,mod_passenger,Rails 3.2.3.所有安装正确,我也启用了Apache模块.顺便说一下出错的地方(乘客不停地说"错误信息:未知钥匙:上课".)

运行rails s会给出上面列出的奇怪错误dump format error for symbol(0x45)

Processing by Devise::SessionsController#new as HTML
  Rendered devise/_links.haml (2.2ms)
  Rendered devise/sessions/new.html.haml within layouts/application (11.8ms)
Completed 500 Internal Server Error in 110ms

ActionView::Template::Error (dump format error for symbol(0x45)):
    8:     / HTML5 shim, for IE6-8 support of HTML elements
    9:     /[if lt IE 9]
    10:       = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js"
    11:     = stylesheet_link_tag "application", :media => "all"
    12:     /%link(href="images/favicon.ico" rel="shortcut icon")
    13:     /%link(href="images/apple-touch-icon.png" rel="apple-touch-icon")
    14:     /%link(href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72")
  app/views/layouts/application.html.haml:11:in `_app_views_layouts_application_html_haml__3524679841439843142_22055600'
Run Code Online (Sandbox Code Playgroud)

这是什么意思?谷歌搜索似乎是一个flash []错误,但我真的不明白我该怎么办.

等待一些建议,谢谢!

Pon*_*nny 46

有同样的问题.尝试删除[app]/tmp目录.它似乎试图解散一些borked文件.

  • 这也适用于我 - 在编辑器中'替换所有文件'之后. (3认同)

rya*_*nes 26

将资产从new.js更改为new.js.coffee并在尝试呈现尝试呈现new.js的视图时收到此错误:

ActionView::Template::Error (dump format error for symbol(0x6d))
Run Code Online (Sandbox Code Playgroud)

我认为这是与tmp文件有关的东西(感谢这个帖子中的评论).我跑了:

bundle exec rake tmp:clear
Run Code Online (Sandbox Code Playgroud)

我很高兴去!


All*_*ate -1

这看起来不像乘客错误,我猜是您的 HAML 出现问题。尝试删除 8、9 和 10,看看是否可以渲染。如果确实如此,这将使您缩小问题范围。