我在Sinatra上运行一个项目,现在它有很多文件的子目录,所以我想查看这些文件的列表及其各自的目录。 例如,我在地址栏中输入了“localhost:4567 / landing /”,其中登陆是某些页面的容器,但它让我觉得“Sinatra不知道这个小曲”。 有没有办法做到这一点。 我希望你明白我在问什么。
答案 0 :(得分:4)
Sinatra不处理本地文件系统,它处理HTTP路由。例如,'/'
中的get '/' do
是指您网站的根网址,而不是您网站的根目录。为了列出本地文件,您需要使用Ruby Dir
类,如下所示:
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
get '/' do
Dir.entries('.').map { |e| "<p>#{e}</p>" }
end
编辑:当然,直接使用文件系统是危险的,即使使用路由也是如此,所以我建议您通过阅读文章来更好地了解幕后发生的事情。小。