0

我在 Rails 3.2 中创建一个 Rails 应用程序,我正在尝试使用 gem 'omniauth-twitter'实现twitter 登录。我已经安装了相同的 gem。现在我尝试在 Rails的/config/app.yml中添加我的 twitter 凭据:

config/app.yml

development: &default
 s3_bucket_name: xxxx
 aws_access_key_id: xxxx
 aws_secret_access_key: xxxx
 cloud_made_key: xxxx
 facebook_key: "xxxxx"
 facebook_secret: 'xxxxxxx'
 twitter_consumer_key: "xxxx"
 twitter_consumer_secret: "xxxxx"

当我重新启动服务器时,出现以下错误:

 error
/home/swati/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/psych.rb:148:in `parse': couldn't parse YAML at line 8 column 0 (Psych::SyntaxError)
from /home/swati/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/psych.rb:148:in `parse_stream'
from /home/swati/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/psych.rb:119:in `parse'
from /home/swati/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/psych.rb:106:in `load'
from /home/swati/projects/hackathon-io/config/application.rb:77:in `<class:Application>'
from /home/swati/projects/hackathon-io/config/application.rb:13:in `<module:HackathonIo>'
from /home/swati/projects/hackathon-io/config/application.rb:12:in `<top (required)>'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:53:in `require'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:53:in `block in <top (required)>'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:50:in `tap'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

我搜索了一个解决方案,发现了同样的问题并实现了rails error, could't parse YAML中指定的答案。

/config/boot.rb

 require 'yaml'
 YAML::ENGINE.yamler = 'syck'

我重新启动服务器并再次收到错误:

`/home/swati/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/syck.rb:135:in `load': syntax error on line 8, col 22: `   twitter_consumer_key: "xxxxx"' (ArgumentError)
from /home/swati/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/1.9.1/syck.rb:135:in `load'
from /home/swati/projects/hackathon-io/config/application.rb:77:in `<class:Application>'
from /home/swati/projects/hackathon-io/config/application.rb:13:in `<module:HackathonIo>'
from /home/swati/projects/hackathon-io/config/application.rb:12:in `<top (required)>'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-      3.2.6/lib/rails/commands.rb:53:in `require'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:53:in `block in <top (required)>'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:50:in `tap'
from /home/swati/.rvm/gems/ruby-1.9.2-p290@hackathon-io/gems/railties-3.2.6/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

我无法弄清楚语法错误。请帮我解决这个错误。

4

2 回答 2

1

我遇到了同样的问题,并通过将所有制表符转换为空格并在脚本允许后删除多余的空格来解决它(如果您的代码中有的话,我几乎没有)。基本上删除了我的 yml 文件中的缩进,它解决了问题并启动了应用程序。

于 2017-08-29T14:52:15.923 回答
0

我的一个 yaml 文件遇到了同样的错误,在看到上面关于制表符的马特建议后,我检查了我的编辑器(SublimeText)并切换到空格而不是制表符进行缩进,它解决了这个问题。

于 2013-08-23T17:20:55.423 回答