2016-04-11 20 views
2

Sinatra'dan bir kod örneği vardır: Yukarı ve Çalışıyor (Örnek 4-22). Çalıştırmaya çalıştığımda, aşağıdaki sonuç verilir: stack level too deep. Yeni uygulama AppController uzanır çünkü AppController use uygulama sonsuza kadar yinelenmesini zamanSinatra: yığın düzeyi çok derin

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! 

Nitekim, bu kod, yanlış görünüyor.

Peki bu nasıl yapılır? Böyle

cevap

0

deneyin şey:

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

run SinatraApp.new 
+0

istediğim burada hile 'Otomatik katman alt sınıf olarak toplayıp' etmektir. –