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