我现在正在学习Sinatra,我正在建立一个小博客。我在authenticated?
方法上遇到了点小问题。我已经设置了身份验证,现在我希望我的应用程序的其余部分只在用户经过身份验证时才加载。因此,在我的app.rb
中,我有以下内容:
helpers do
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
def authenticated?
redirect '/login' unless current_user
end
end
if authenticated?
# get '/' { ... }
# get '/new' { ... }
# post '/new' { ... }
# the rest of an app (creating, updating and deleting posts go here)
end
当我运行应用程序时,它返回以下错误
undefined method authenticated? form main::Object
我做错了什么?
根据文档,您将使用您的authenticated?
方法如下:
get '/' do
if authenticated?
# something
else
# something else
end
end