我有一个简单的sinatra应用程序。我想要做的就是使用它作为包装器来在特定路由上提供静态HTML文件。我的目录结构如下所示:
/directory
myhtmlfile.html
app.rb
我的app.rb
文件如下所示:
require 'sinatra'
get '/myspecialroute' do
html :myhtmlfile # i know html is not a method, but this is what I would like to do
end
我怎样才能写这个,以便我可以将我的html文件保存为普通的html文件但是在特殊路径上提供?
感谢this,我学到了几种不同的方法:
get '/myspecialroute' do
File.read('myhtmlfile.html')
end
这将打开,读取,关闭,然后将文件作为字符串返回。
或者有一个辅助功能可以使它更清洁:
get '/myspecialroute' do
send_file 'myhtmlfile.html'
end
答案 0 :(得分:41)
答案 1 :(得分:2)
你可以这样做:
get '/myspecialroute' do
redirect '/myspecialroute.html'
end
答案 2 :(得分:0)
这对我有用:
require 'rubygems'
require 'sinatra'
get '/index.html' do
@page_title = 'Home'
@page_id = 'index.html'
erb :'index.html', { :layout => :'layout.html' }
end