10

我在 fedora 16 Rails version 2.3.5 和 Ruby 1.9.2.p320 上运行的 rails 应用程序遇到问题。该应用程序在 Ubuntu 11.10 上运行良好。当我运行 rails 服务器并点击任何控制器时,会出现以下错误。

Psych::SyntaxError in controllername#actionname

无法解析 YAML

我已经尝试过应用以下技巧,但它对我不起作用。

我在 config/boot.rb 中添加了以下行

require 'yaml'

YAML::ENGINE.yamler = 'syck'

错误跟踪是

.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/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:189:in `load_yml'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:176:in `load_file'
.rvm/gems/ruby-1.9.2-p320@sunago/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/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `each'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:13:in `load_translations'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:85:in `init_translations'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb:74:in `available_locales'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb:50:in `available_locales'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:226:in `valid_locale?'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:243:in `parse_extensions'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:233:in `split'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/template.rb:118:in `initialize'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:81:in `initialize'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `new'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:38:in `register_template_from_file'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `block in load_all_templates_from_dir'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `each'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:62:in `load_all_templates_from_dir'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/reloadable_template.rb:29:in `[]'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/paths.rb:48:in `block in find_template'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `each'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_view/paths.rb:47:in `find_template'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:1389:in `default_template'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:905:in `render'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `block in render_with_benchmark'
.rvm/gems/ruby-1.9.2-p320@sunago/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/ruby-1.9.2-p320@sunago/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `ms'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:51:in `render_with_benchmark'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:1326:in `default_render'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/base.rb:1332:in `perform_action'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in `call_filters'
.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_with_filters'
/.rvm/gems/ruby-1.9.2-p320@sunago/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `block in perform_action_with_benchmark'
.rvm/gems/ruby-1.9.2-p320@sunago/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
4

1 回答 1

9

旧的 YAML 解析器不喜欢有制表符,而只有空格。您可能需要检查您的 YAML 文件以查看它在第 18 行是否有任何选项卡。如果是这种情况,您可能需要修复您的 YAML 文件或升级解析器。

于 2012-05-04T12:39:22.840 回答