Приложение Rails, перенесенное на рабочий сервер, дает ошибку "ошибка формата дампа для символа" - программирование
Подтвердить что ты не робот

Приложение Rails, перенесенное на рабочий сервер, дает ошибку "ошибка формата дампа для символа"

Я только что переместил приложение rails из разработки на сервер развертывания. Я установил пассажира, но я хотел попробовать с rails s, чтобы убедиться, что все работает нормально (это первый раз, когда я разрабатываю и развертываю приложение rails).

Спекуляции: Ruby 1.9.3 с RVM, 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'

Что это значит? Googling - это ошибка flash [], но я не могу понять, что мне делать здесь.

В ожидании какого-то предложения, спасибо!

4b9b3361

Ответ 1

Была та же проблема. Попробуйте удалить файл [app]/tmp. Кажется, он пытается развязать некоторые файлы с бортиками.

Ответ 2

Измените ресурс new.js на new.js.coffee и получили эту ошибку при попытке визуализации представления, которое пыталось выполнить new.js:

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

Я понял, что это связано с файлами tmp (благодаря комментариям в этом потоке). Я побежал:

bundle exec rake tmp:clear

И мне было хорошо идти!

Ответ 3

Проблема заключалась в том, что я вставил "haml-rails" в конвейер :assets, поэтому он не смог найти HAML в рабочей среде.

Честно говоря, я удивлен, что просто удалив javascript_include_tag и stylesheet_link_tag, он все еще визуализировал html.

Кстати, я исправил его, переместив haml-rails из области assets.

Ответ 4

Я столкнулся с той же проблемой, когда удалил из моих ресурсов кучу неиспользуемых файлов .coffee.

Я решил проблему, выполнив:

bundle exec rake assets:precompile RAILS_ENV=<environment>

Затем перезагрузите сервер.

Ответ 5

Это не похоже на ошибку пассажира, я думаю, это будет проблема с вашим HAML. Попробуйте удалить 8, 9 и 10 и посмотреть, будет ли она отображаться. Если это произойдет, это позволит вам сузить проблему.

Ответ 6

У меня была та же проблема, и исправление заключалось в запуске git clean -dfx