![](/img/trans.png)
[英]NoMethodError (undefined method `last' for 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.