2011-11-12 78 views
1

我不知道发生了什么,这让我无毛!连接失败:domain.com(NoMethodError:未定义的方法`>'为true:TrueClass)

我试图让帽:部署命令的工作,那么,从哪儿冒出来,我得到这个错误: connection failed for: domain.com (NoMethodError: undefined method>”为真:TrueClass)`

我根本不修改代码。为了确定问题出在哪里,我开始在deploy.rb文件中逐行删除,并且我意识到如果这3行中至少没有一行存在,则错误不会发生。

role :web, "domain.com" 
role :app, "domain.com" 
role :db, "domain.com", :primary => true 

然后,当然它给了我另一个关于服务器不存在的错误。任何想法可能会给我这个错误?

之前,为了得到这个错误,我想设置这个权利......

$:.unshift(File.expand_path('./lib', ENV['rvm_path'])) 
require "rvm/capistrano" 
set :rvm_bin_path, "$HOME/.rvm/bin/" 
set :rvm_path, "/usr/local/rvm/" 
set :rvm_ruby_string, '1.9.2-p290' 
set :rvm_type, :user 

,但如果我删除这些线路和运行帽部署:安装程序再次它仍然给了我同样的错误。

没有想法是什么引起的!

+2

发布完整的回溯 - 以便我们可以知道>从哪里传播 –

+2

当您从中删除'::primary => true'时会发生什么角色:db? –

+0

发现错误!感谢Steph,在阅读您的评论后,我检查了部署文件中包含“true”的所有内容,并发现我设置了:verbose,true,而不是set:scm_verbose,true。 – leonel

回答

3

每当你看到一个错误,指出:

undefined method > for [class] 

我常常发现,这是由于定义的symbol => value

在这种情况下,你说> for true:TrueClass,所以尽量取下, :primary => true

如果这是罪魁祸首,请检查您的部署文件中的设置,或者查看您定义的符号是否实际存在/应用,或者您的语法是否正确。

在一种情况下我的,我有一个if语句,如:

XXX, if :symbol > 0 
中导致错误的模型

,我需要将其转换成一个Proc

(我扩大一点额外只是为了防止其他人有相同的未定义的方法出于不同的原因)。

相关问题