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

4

1 に答える 1

2

いくつか調整する必要があります。

callの中でメソッドを定義Applicationしている場合、それをインスタンス メソッドとして定義していて、それをクラス メソッドとして呼び出そうとしているので、定義を修正してクラス メソッド定義にします。

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

次に、正しい数の引数をメソッドに渡さないという新しいエラーが発生するため、メソッドを呼び出している場所に paramcallを追加します。envcall

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

それが役立つことを願っています!

于 2012-08-28T20:49:39.393 に答える