0

Rails 3.2 で Rails Applocation を作成しています。ここでは、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 に答える