2012-08-28 50 views
0

我似乎無法看到什麼了這段代碼:架「的方法沒有找到」

class Cherry 
    class << self 
     def call env 
      self::Application.call 
     end 
    end 
end 

class Cherry 
    class Application 
     def call env 
      #Framework logic 
     end 
    end 
end 

run Cherry 

這是我的應用程序不工作的一部分。我不知道爲什麼: NoMethodError at/undefined method 'call' for Cherry::Application:Class

回答

2

您需要調整幾件事情。

當你定義的Applicationcall方法,你都將其定義爲一個實例方法,那麼你嘗試調用它作爲一個類的方法,所以讓我們修復定義爲一個類的方法定義:

class Cherry 
    class Application 
     def self.call env 
      #Framework logic 
     end 
    end 
end 

接下來將會有一個新的錯誤,有關不及格的觀點的權利號到call方法,所以我們的env PARAM添加到您所呼叫的call方法。

class Cherry 
    class << self 
     def call env 
      self::Application.call env 
     end 
    end 
end 

希望有所幫助!

+0

非常感謝! :) – andy