2012-08-28 3 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

당신은 몇 가지를 조정해야합니다.

: 당신이 Application의 내부 call 방법을 정의 할 때

, 그렇게 클래스 메소드 정의로 정의를 수정할 수 있습니다, 당신은 클래스 메소드로 전화를 시도하고, 인스턴스 메서드로 정의하는

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

다음에 대한 call 방법에 인수의 오른쪽 숫자를 통과하지, 새로운 오류가있을 것입니다, 그래서 우리는 당신이 call 메소드를 호출하는 곳으로 env PARAM를 추가합니다.

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

희망 하시겠습니까?

+0

정말 고마워요! :) – andy