Ruby 如何重定向到root is flag is";假;?
我试图重定向到登录页面,但它没有重定向到登录页面,而是将登录页面内容返回到sinatra中的响应Ruby 如何重定向到root is flag is";假;?,ruby,sinatra,Ruby,Sinatra,我试图重定向到登录页面,但它没有重定向到登录页面,而是将登录页面内容返回到sinatra中的响应 get '/' do flag = false if flag == true erb :index else erb :login end end get '/list' do flag = false if flag puts "show list" else
get '/' do
flag = false
if flag == true
erb :index
else
erb :login
end
end
get '/list' do
flag = false
if flag
puts "show list"
else
redirect "/"
end
end
当我调用“/list”将其重定向到“/root”时,它应该转到login.erb页面,但这并没有发生,而是将login.erb的内容返回到root调用的响应中
如何在root调用上显示login.erb页面?您还需要在root中使用重定向。这听起来像是当你去/你想被重定向到/登录,如果你没有登录。您可以使用:
重定向到“/登录”
而不是
else
雇员再培训局:登入
终止
然后您需要添加
get'/login'do
雇员再培训局:登入
终止
您的屏幕截图显示您正在查看Firefox中Firebug的输出。关闭它,内容看起来就在它后面。你告诉它在根目录中呈现login.html.erb。这不会重定向到类似于localhost:4567/login
的内容,它将在当前路径中简单地显示呈现的
页面。您还可以将条件更改为标志?erb:index:erb:login
@matt..你非常聪明…这里不是我上传这个firebug屏幕截图的页面上的login.erb。@engineersmky,你是对的,谢谢你的建议在这个场景中发生了我在问题中提到的同样的事情