Ruby on rails 3 在视图中处理t()辅助对象时,精简抛出ArgumentError

Ruby on rails 3 在视图中处理t()辅助对象时,精简抛出ArgumentError,ruby-on-rails-3,locale,thin,Ruby On Rails 3,Locale,Thin,当使用标准WEBrick服务器启动应用程序时,它工作正常,不会引发任何错误,但使用Thin启动应用程序时,它会给我一个错误: ArgumentError in Machine#index Showing /home/mika/projects/vaalikone/app/views/questions/_detail_box.haml where line #4 raised: syntax error on line 6, col 2: ` register_information:

当使用标准WEBrick服务器启动应用程序时,它工作正常,不会引发任何错误,但使用Thin启动应用程序时,它会给我一个错误:

ArgumentError in Machine#index

Showing /home/mika/projects/vaalikone/app/views/questions/_detail_box.haml where line #4 raised: 

syntax error on line 6, col 2: `  register_information: "Rekisteriseloste"'
第4行周围的提取源:

1: .detail_box
2:   %table
3:     %tr
4:       %td= t("question.user")
5:       %td= question.user.full_name
6:     %tr
7:       %td= t("question.created_at")
以及完整堆栈跟踪的结尾:

/home/mika/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/syck.rb:135:in `load'
/home/mika/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/syck.rb:135:in `load'
/home/mika/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/syck.rb:146:in `block in load_file'
/home/mika/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/syck.rb:145:in `open'
/home/mika/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/syck.rb:145:in `load_file'
i18n (0.5.0) lib/i18n/backend/base.rb:170:in `load_yml'
i18n (0.5.0) lib/i18n/backend/base.rb:156:in `load_file'
i18n (0.5.0) lib/i18n/backend/base.rb:15:in `block in load_translations'
i18n (0.5.0) lib/i18n/backend/base.rb:15:in `each'
i18n (0.5.0) lib/i18n/backend/base.rb:15:in `load_translations'
i18n (0.5.0) lib/i18n/backend/simple.rb:55:in `init_translations'
i18n (0.5.0) lib/i18n/backend/simple.rb:69:in `lookup'
i18n (0.5.0) lib/i18n/backend/base.rb:26:in `translate'
i18n (0.5.0) lib/i18n.rb:155:in `translate'
actionpack (3.0.7) lib/action_view/helpers/translation_helper.rb:48:in `translate'
app/views/questions/_detail_box.haml:4:in `_app_views_questions__detail_box_haml___1037386747_92326130__348576359'
我完全震惊了。Thin在抱怨我的语言环境文件,但WEBrick没有。我的区域设置文件的开头如下。有人看到里面有什么奇怪的东西吗

fi:
  login:        "Kirjaudu sisään"
  logout:       "Kirjaudu ulos"
  register:     "Rekisteröidy"
  edit_registration: "Muokkaa tietojasi"
  terms:        "Käyttöehdot"
  register_information: "Rekisteriseloste"
  show:         "Näytä"
  edit:         "Muokkaa"
我猜这个错误与语言环境文件没有太大关系,而是与其他一些东西有关。如果我将区域设置文件中的第6行向下移动几行,就会开始抱怨从第7行移动到第6行的行


有人知道问题出在哪里吗?

只需围绕触发错误的行重写我的fi.yml语言环境文件的一部分,就解决了这个问题。我找不到这个错误的一般规律。如果服务器对第34行抛出错误,我将重写第33行和第34行。通过这种方式,我能够得到一个正在工作的fi.yml文件,该文件目前没有抛出任何错误

在某种程度上,我怀疑Thin不喜欢我用来保持文件良好可读性的标签。但最终这并不是错误的原因。文件中可以有制表符,但有时在键和字符串之间添加制表符会导致错误

我的新fi.yml文件与旧文件仅在空白处有所不同。在我的新fi.yml中,有更少的空白和更少的选项卡,现在它可以工作了

真奇怪

与此相关的一件事是,在迁移到使用Thin时,我将rails.vim脚本添加到了我的vim中。vim更改了tab按钮以添加两个空格而不是tab字符