2017-01-12 24 views
0

mongoidを使用するrailsアプリケーションをリモートプロダクションサーバーに配備しようとしています。私mongoid.ymlRails、Mongoid、データベース環境設定の環境変数を使用するNoMethodError

は、私はこれを追加しました:

hosts: 
    - <%= ENV['MONGOSERVER_PORT_27017_TCP_ADDR'] %>:27017 

私はカピストラーノを起動すると、それは私に、このエラーがスローされます。

SSHKit::Command::Failed: rake exit status: 1 
rake stdout: rake aborted! 
NoMethodError: undefined method `split' for :"27017":Symbol 

は、アンダースコアを追加すると、このエラーが起こる可能ということありますか?

答えて

1

環境変数がnilであるので、それだけで読んでいるように見えます:

hosts: 
    - :27017 

をそれは、ホストはそれをオフに投げているシンボル、だと思います。あなたのenv varが正しく設定されたホストの前後に引用符でそれを試している

ダブルチェック:

hosts: 
    - "<%= ENV['MONGOSERVER_PORT_27017_TCP_ADDR'] %>:27017" 
1

ラインが- :27017として解析されて、あなたのURLの文字列ではなくSymbolを作成します。おそらく、ENV変数が定義されていないためです。正しく定義したことを確認してください。

"アンダースコアを追加するとこのエラーが発生しますか?"下線は環境変数で有効です。