2012-05-04 6 views
10

Ich habe ein Problem in Rails-Anwendung läuft auf Fedora 16 Rails Version 2.3.5 und Ruby 1.9.2.p320. Die Anwendung läuft unter Ubuntu 11.10 einwandfrei. Wenn ich den Rails Server starte und irgendeinen Controller trete, kommt folgender Fehler.Psych :: SyntaxError konnte nicht YAML

Psych :: Syntax in controller # action

nicht analysieren konnte YAML

Ich habe versucht, die folgenden Trick anwenden, aber es ist nicht für mich zu arbeiten.

Ich habe die folgende Zeile in config/boot.rb

require 'yaml' 

YAML::ENGINE.yamler = 'syck' 

der Fehler Spur hinzugefügt ist

.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:148:in `parse' 
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:148:in `parse_stream' 
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:119:in `parse' 
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/psych.rb:106:in `load' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:189:in `load_yml' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:176:in `load_file' 
.rvm/gems/[email protected]/gems/activesupport-.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `block in load_translations' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `each' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `load_translations' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:85:in `init_translations' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:74:in `available_locales' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb:50:in `available_locales' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:226:in `valid_locale?' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:243:in `parse_extensions' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:233:in `split' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/template.rb:118:in `initialize' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:81:in `initialize' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `new' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `register_template_from_file' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `block in load_all_templates_from_dir' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `each' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `load_all_templates_from_dir' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:29:in `[]' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/paths.rb:48:in `block in find_template' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `each' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `find_template' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:1389:in `default_template' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:905:in `render' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `block in render_with_benchmark' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `block in ms' 
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/benchmark.rb:310:in `realtime' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `ms' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:1326:in `default_render' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/base.rb:1332:in `perform_action' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in `call_filters' 
.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_with_filters' 
/.rvm/gems/[email protected]/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark' 
.rvm/gems/[email protected]/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `block in ms' 
.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/benchmark.rb:310:in `realtime 

Antwort

7

Ältere YAML-Parser nicht mit Tabs haben mögen, aber nur Leerzeichen. Vielleicht möchten Sie Ihre YAML-Datei überprüfen, um zu sehen, ob Tabs in Zeile 18 vorhanden sind. Wenn dies der Fall ist, möchten Sie vielleicht Ihre YAML-Dateien reparieren oder den Parser aktualisieren.

+2

Ich habe die folgende Zeile in environment.rb Datei require 'yaml' YAML :: ENGINE.yamler = 'syck' –

+0

Dank hinzugefügt - Sie den Tag gerettet. – johndpope

+0

Das war die richtige Lösung. Stellen Sie sicher, dass "YAML :: ENGINE.yamler = 'syck'" in einer separaten Zeile steht. –

Verwandte Themen