Rails app moved to production server gives “dump format error for symbol” error

元气小坏坏 提交于 2019-12-04 17:07:19

问题


I've just moved my rails app from the development to deployment server. I've installed passenger, but I wanted to try with rails s to make sure all was running fine (this is the first time I develop and deploy a rails application).

Specs are: Ruby 1.9.3 with RVM, mod_passenger, Rails 3.2.3. All installed correctly and I've also enabled the Apache module. By the way something is going wrong (passenger keeps sayng "Error message: Unknown key: class".)

Running rails s is giving a weird error listed above 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'

What does it mean? Googling it seems a flash[] error but I can't really understand what should I do here.

Waiting for some suggestion, thank you!


回答1:


Had the same problem. Try removing your [app]/tmp dir. It seems to be trying to unmarshal some borked files.




回答2:


Change an asset from new.js to new.js.coffee and received this error when trying to render a view which was trying to render new.js:

ActionView::Template::Error (dump format error for symbol(0x6d))

I figured it was something related to the tmp files (thanks to the comments in this thread). I ran:

bundle exec rake tmp:clear

And I was good to go!




回答3:


The problem here was that I inserted "haml-rails" under the :assets pipeline, so it was not able to find HAML on the production environment.

To be honest I'm surprised that just removing javascript_include_tag and stylesheet_link_tag it was still rendering the html.

By the way I fixed it by moving haml-rails out from the assets scope.




回答4:


I ran into the same issue when I removed a bunch of unused .coffee files from my assets.

I resolved the issue by running:

bundle exec rake assets:precompile RAILS_ENV=<environment>

And then restarting the server.




回答5:


This doesn't look like a passenger error, my guess would be a problem with your HAML. Try removing 8, 9, and 10, and see if it renders. If it does, that will let you narrow down the problem.




回答6:


I had the same problem, and the fix was to run git clean -dfx



来源:https://stackoverflow.com/questions/10552925/rails-app-moved-to-production-server-gives-dump-format-error-for-symbol-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!