我运行一个西纳特拉项目,现在已经有很多文件的子目录,所以我想查看这些文件的列表以及它们各自的目录中。 例如,我把在地址栏中输入“本地主机:4567 /着陆/”“西纳特拉不知道这小曲”哪里着陆是一些网页的容器,但它扔我这个 有没有办法做到这一点。 我希望你明白我在问什么。
Answer 1:
西纳特拉不处理本地文件系统,它与HTTP路由协议。 例如, '/'
在get '/' do
指的是您的网站的根网址,而不是你的网站的根目录。 为了列出本地文件,你需要使用Ruby的Dir
级的,是这样的:
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
get '/' do
Dir.entries('.').map { |e| "<p>#{e}</p>" }
end
编辑:当然,这是危险的直接与文件系统的工作,即使使用的路线,所以我建议你更好地了解什么是读了一点点事情在幕后的。
文章来源: How can I view a list of my files in a directory on sinatra?