1

おはようございます。私はこの宝石を使用しようとしています:

https://github.com/jkrall/analytical

ヘロクで。私のローカル環境では問題なく動作しますが、Heroku では次のように失敗します。

2012-10-31T13:52:28+00:00 app[web.1]: /usr/local/lib/ruby/1.9.1/syck.rb:135:in `load': syntax error on line 4, col 5: `' (ArgumentError)
2012-10-31T13:52:28+00:00 app[web.1]:   from /usr/local/lib/ruby/1.9.1/syck.rb:135:in `load'
2012-10-31T13:52:28+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/analytical-3.0.12/lib/analytical.rb:14:in `block in analytical'
2012-10-31T13:52:28+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/analytical-3.0.12/lib/analytical.rb:13:in `open'
2012-10-31T13:52:28+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/analytical-3.0.12/lib/analytical.rb:13:in `analytical'
2012-10-31T13:52:28+00:00 app[web.1]:   from /app/app/controllers/api_controller.rb:1:in `<top (required)>'

参照されている「api_controller.rb」の行は、ドキュメントに従って、そのコントローラーでgemを初期化する単に「分析」ステートメントです。

代わりに「分析」をapplication_controllerに入れてみましたが、エラーも発生しました(開発とステージングの両方で)。

完全に困惑した。どんな助けでも大歓迎です!

4

1 に答える 1

0

config/analytical.yml同様の問題が発生したとき、問題はファイルの構文エラーであることが判明しました。開発中は、引用符なしで Google アナリティクス ID を入れることができましたが、Heroku ではこのエラーが発生しました。したがって、これの代わりに:

production:
  google:
    key: UA-XXXXXXXX-X

これは私がしました:

production:
  google:
    key: "UA-XXXXXXXX-X"

また、最後の行の後に改行があることを確認する必要があるかもしれません

于 2013-03-14T22:46:18.933 に答える