1

我在 Sinatra 上运行一个项目,现在它有很多文件和子目录,所以我想查看这些文件及其各自目录的列表。例如,我在地址栏中输入“localhost:4567/landing/”,其中landing 是一些页面的容器,但它却抛出了“Sinatra 不知道这个小曲”。有没有办法做到这一点。我希望你明白我在问什么。

4

1 回答 1

4

Sinatra 不处理本地文件系统,它处理 HTTP 路由。例如,'/'inget '/' do指的是您网站的根 url,而不是您网站的根目录。为了列出本地文件,您需要使用 RubyDir类,如下所示:

#!/usr/bin/env ruby

require 'rubygems'
require 'sinatra'

get '/' do
   Dir.entries('.').map { |e| "<p>#{e}</p>" }
end

编辑:当然,直接使用文件系统是很危险的,即使使用路由也是如此,所以我建议您通过阅读一些内容来更好地了解幕后发生的事情。

于 2012-08-24T18:46:51.827 回答