ruby – 如何使用Sinatra呈现纯HTML文件?

我有一个简单的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
send_file做你想要的吗

例如

  get '/myspecialroute' do
     send_file 'special.html'
  end
翻译自:https://stackoverflow.com/questions/7997081/how-to-render-a-plain-html-file-with-sinatra

转载注明原文:ruby – 如何使用Sinatra呈现纯HTML文件?