好的,这是交易。我需要检查用户是否在每次获取或发布请求之前登录,除了登录,注册和归属路由。
现在,我想要检查的每条路线上都有以下代码。
redirect '/' if !check_login?
我检查了文档是否有这样做的方法,到目前为止我只得到了它并且它没有用。
before do, except => ['/','/login','/signup']
if request.request_method == "POST"
redirect '/' if !check_login?
end
end
有什么方法可以完成这项工作吗?请告诉我。
答案 0 :(得分:1)
您可以使用负前瞻路线:
before %r{^(?!(/|/login|/signup)$)} do
if request.request_method == "POST"
redirect '/' if !check_login?
end
end
这将匹配除/
,/login
和/signup
之外的所有路线。