簡體   English   中英

連接失敗:domain.com(NoMethodError:未定義的方法“>”為true:TrueClass)

[英]connection failed for: domain.com (NoMethodError: undefined method `>' for true:TrueClass)

我不知道發生了什么,這讓我無毛!

我試圖使cap:deploy命令正常工作,然后,我從無處connection failed for: domain.com (NoMethodError: undefined method此錯誤: connection failed for: domain.com (NoMethodError: undefined method >,對於true: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

但是,如果我刪除這些行並再次運行cap deploy:setup,它仍然會給我同樣的錯誤。

沒有想到它導致了什么!

每當您看到錯誤消息:

undefined method > for [class]

我通常發現這是由於定義的symbol => value

在這種情況下,你的說> for true:TrueClass ,所以嘗試取下, :primary => true

如果這是罪魁禍首,請檢查部署文件中的設置,或者查看您定義的符號是否實際存在/適用,或者語法是否正確。

在我的一種情況下,我有一個if語句,例如:

XXX, if :symbol > 0 

在導致錯誤的模型中,我需要將其轉換為Proc

(為了防止其他人因為不同的原因而使用相同的未定義方法,我進行了一些額外的擴展。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM