Может кто-нибудь сказать мне, почему я получаю NameError - uninitialized constant Sinatra::Default
при вызове маршрута /admin
?
require "sinatra"
require "sinatra/authorization"
set :authorization_realm, "Protected zone"
helpers do
def authorize(login, password)
login == "admin" && password == "secret"
end
end
get "/" do
"Welcome to the public zone"
end
get "/admin" do
login_required
"Welcome to the protected zone"
end
Я использую Ruby 1.9.2, Sinatra 1.2.6 и Расширение авторизации Sinatra .
ОБНОВЛЕНИЕ : ОК, я нашел источник проблемы в строке 25 следующего файла:
Синатра-авторизации-1.0.0 / Библиотека / Синатра / authorization.rb
Этот форк исходного проекта решил проблему, заменив Sinatra::Default.authorization_realm
на settings.authorization_realm
в строке 25. Это решает проблему, но я не понимаю, почему. Кто-нибудь может мне это объяснить?