2016-04-11 3 views
2

Sinatra:Up and Running(例4-22)のコードサンプルがあります。私がそれを実行しようとすると、次の結果が与えられます:stack level too deepSinatra:スタックレベルが深すぎる

require 'sinatra/base' 

class ApplicationController < Sinatra::Base 
    def self.inherited(sublass) 
    super 
    use sublass 
    end 
    enable :logging 
end 

# works with dynamically generated applications, too 
Sinatra.new ApplicationController do 
    get '/' do 
    "See the <a href='/example'>example</a>." 
    end 
end 
ApplicationController.run! 

新しいアプリがのAppControllerとするとき、それは永遠に再発するのAppController useアプリを拡張しているため実際に、このコードは、間違って見えます。

これを行うにはどうすればいいですか?

答えて

0

はこのような何か試してみてください:

class SinatraApp < Sinatra::Base 
    get '/' do 
    "See the <a href='/example'>example</a>." 
    end 
end 

run SinatraApp.new 
+0

を私はしたいここにトリックは「自動的にミドルウェアとしてサブクラスを拾う」することです。 –

関連する問題