Ruby 如何重定向到root is flag is";假;?

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

我试图重定向到登录页面,但它没有重定向到登录页面,而是将登录页面内容返回到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
        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,你是对的,谢谢你的建议在这个场景中发生了我在问题中提到的同样的事情