我正在尝试将使用mongoid的rails应用程序部署到我的远程生产服务器。
在我mongoid.yml
我添加了这个:
hosts:
- <%= ENV['MONGOSERVER_PORT_27017_TCP_ADDR'] %>:27017
当我启动我的capistrano时,它会抛出这个错误:
SSHKit::Command::Failed: rake exit status: 1
rake stdout: rake aborted!
NoMethodError: undefined method `split' for :"27017":Symbol
添加下划线会导致此错误发生吗?
答案 0 :(得分:2)
看起来环境变量是零,所以它只是阅读:
hosts:
- :27017
它认为主机是一个符号,它正在抛弃它。
仔细检查您的env var是否设置正确并使用主机周围的引号进行尝试:
hosts:
- "<%= ENV['MONGOSERVER_PORT_27017_TCP_ADDR'] %>:27017"
答案 1 :(得分:1)
该行被解析为- :27017
,它会创建Symbol
而不是您的网址字符串。这可能是由于您的ENV
变量没有被定义;确保你已正确定义它。
要回答“添加下划线会导致此错误吗?”的问题:很可能没有。下划线在环境变量中有效。