我刚刚将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'
这是什么意思?谷歌搜索似乎是一个flash []错误,但我真的不明白我该怎么办。
等待一些建议,谢谢!
答案 0 :(得分:46)
有同样的问题。尝试删除[app] / tmp目录。它似乎试图解散一些borked文件。
答案 1 :(得分:26)
将资产从new.js更改为new.js.coffee,并在尝试渲染试图渲染new.js的视图时收到此错误:
ActionView::Template::Error (dump format error for symbol(0x6d))
我认为它与tmp文件有关(感谢此帖子中的注释)。我跑了:
bundle exec rake tmp:clear
我很高兴去!
答案 2 :(得分:0)
这里的问题是我在:assets
管道下插入了“haml-rails”,因此无法在生产环境中找到HAML。
说实话,我很惊讶只是删除了javascript_include_tag
和stylesheet_link_tag
它仍在呈现html。
顺便说一下,我通过从haml-rails
范围移出assets
来修复它。
答案 3 :(得分:0)
当我从资产中删除了一堆未使用的.coffee文件时,我遇到了同样的问题。
我通过运行来解决了这个问题:
bundle exec rake assets:precompile RAILS_ENV=<environment>
然后重新启动服务器。
答案 4 :(得分:-1)
这看起来不像乘客错误,我的猜测是你的HAML有问题。尝试删除8,9和10,看看它是否呈现。如果确实如此,那就可以让你缩小问题范围。
答案 5 :(得分:-1)
我遇到了同样的问题,解决方法是运行git clean -dfx