相关疑难解决方法(0)

使用Sinatra提供静态文件

我有一个页面网站只使用HTML,CSS和JavaScript.我想将应用程序部署到Heroku,但我找不到办法.我现在正试图让应用程序与Sinatra一起工作.

.
|-- application.css
|-- application.js
|-- index.html
|-- jquery.js
`-- myapp.rb
Run Code Online (Sandbox Code Playgroud)

以下是内容myapp.rb.

require 'rubygems'
require 'sinatra'

get "/" do
  # What should I write here to point to the `index.html`
end
Run Code Online (Sandbox Code Playgroud)

ruby sinatra

138
推荐指数
6
解决办法
8万
查看次数

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

我有一个简单的sinatra应用程序.我想要做的就是使用它作为包装器来在特定路由上提供静态HTML文件.我的目录结构如下所示:

/directory
    myhtmlfile.html
    app.rb
Run Code Online (Sandbox Code Playgroud)

我的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
Run Code Online (Sandbox Code Playgroud)

我怎么写这个,以便我可以保持我的HTML文件一个简单的HTML文件,但在特殊的路线上提供?

解:

多亏了这一点,我学到了几种不同的方法:

get '/myspecialroute' do
  File.read('myhtmlfile.html')
end
Run Code Online (Sandbox Code Playgroud)

这将打开,读取,关闭,然后将文件作为字符串返回.

或者有一个辅助函数来使这个更清洁:

get '/myspecialroute' do
  send_file 'myhtmlfile.html'
end
Run Code Online (Sandbox Code Playgroud)

ruby sinatra

24
推荐指数
1
解决办法
2万
查看次数

标签 统计

ruby ×2

sinatra ×2