如何在Sinatra中设置验证?
问题描述:
我需要博客的简单身份验证。对于一个人。只需登录网站如何在Sinatra中设置验证?
无法配置sinatra_warden。写app.rb行
require 'rubygems'
require 'sinatra'
require 'pry-byebug'
require "sinatra/activerecord"
require "carrierwave"
require "carrierwave/orm/activerecord"
require 'sinatra_warden'
require 'warden'
register Sinatra::Warden
use Rack::Session::Pool
,但我得到一个错误
NoMethodError: undefined method `register' for main:Object
宝石sinatra_warden已安装。以及书面require "warden"
& require "sinatra_warden"
sinatra_warden 0.3.2
*长1.2.6
当我加入控制器authorize!
方法,我得到一个错误
undefined method `authorize!'
答
因为你没” t使用sinatra/base
您应该添加sinatra/namespace
。加入你的app.rb
这需要require "sinatra/namespace"
。
Sinatra::Namespace
是将名称空间添加到 应用程序的扩展。这个命名空间将允许您在名称空间内共享路径前缀 路由,并为它们专门定义错误处理程序,过滤器,条件和 。除此之外,您还可以使用 注册助手以及仅在 名称空间内使用的扩展名。
或更改应用程序的模块化风格:
require "sinatra/base"
class MyApp < Sinatra::Base
register Sinatra::Warden
# The rest of your modular application code goes here...
end
显示讨好的完整代码,您加入这一行。 –
添加到问题 – Andrey