我正在尝试将 sinatra-authentication gem 添加到 Sinatra 应用程序中,虽然它在那里并做部分事情,但由于某种原因,似乎没有添加路由。代码基础:
require 'sinatra'
require 'digest/sha1'
require 'rack-flash'
require 'mongo_mapper'
require 'sinatra-authentication'
MongoMapper.connection = Mongo::Connection.new('127.0.0.1', 27017, :pool_size => 5, :pool_timeout => 5)
MongoMapper.database = 'cms'
module CmsMod
class CmsApp < Sinatra::Base
use Rack::Session::Cookie, :secret => 'something secret'
use Rack::Flash
get '/' do
#redirect to('/list') # commented out for testing
end
get '/private' do
login_required
'Protected Page'
end
然后剩下的事情。症状是将浏览器指向我的正常路线工作正常。转到“/private”会正确重定向到“/login”,但我收到旧的“Sinatra 不知道这个小曲”消息;如果我尝试直接访问 '/login' 也是一样。我尝试使用 'binding.pry' 来检查 get 块内的内容,并且据我所知路由不存在。任何关于可能导致这种情况的想法都将不胜感激。