2
有一個代碼示例來自Sinatra:啓動並運行(示例4-22)。當我嘗試運行它時,給出了以下結果:stack level too deep
。Sinatra:疊層太深
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
應用它會永遠復發。
那麼如何做到這一點的權利?
我想在這裏的竅門是「自動撿子類中間件」。 –