假设我的目录结构类似于:
path_to_file/one/index.html
如何设置我的sinatra应用程序路由到
mysite.com/path_to_file/one/
并提交前面提到的文件? path_to_file
将始终保持不变,但其中会有不同的文件夹(two
,three
等)。
我尝试了以下内容:
get '/path_to_file/:number' do
File.read(File.join('path_to_file', "#{params[:number]}", "index.html"))
end
但是从index.html
链接的javascript文件无法正确呈现。
答案 0 :(得分:2)
知道了!
get '/path_to_file/:number/:file' do
File.read(File.join('path_to_file', "#{params[:number]}", "#{params[:file]}"))
end
get '/path_to_file/:number' do
File.read(File.join('path_to_file', "#{params[:number]}", "index.html"))
end
顺序很重要,因为如果这两种方法相反,get '/path_to_file/:number'
就会成为get '/path_to_file/:number/:file'
的超集。
答案 1 :(得分:0)
只是想一想,但您可以设置服务器软件Apache
,nginx
,无论您使用的是什么,都可以投放.css
和.js
并提供图像来自不同位置的文件。