1. ホーム
  2. ruby

[解決済み] Sinatraで静的ファイルを配信する

2022-05-15 05:29:09

質問

HTML、CSS、JavaScriptだけで1ページのサイトを持っています。私はアプリをHerokuにデプロイしたいのですが、それを行う方法を見つけることができません。私は今、Sinatraで動作するアプリを作ろうとしています。

.
|-- application.css
|-- application.js
|-- index.html
|-- jquery.js
`-- myapp.rb

そして、以下の内容は myapp.rb .

require 'rubygems'
require 'sinatra'

get "/" do
  # What should I write here to point to the `index.html`
end

どのように解決するのですか?

追加設定なしで、Sinatraはアセットを public . 空のルートでは、indexドキュメントをレンダリングすることになります。

require 'rubygems'
require 'sinatra'

get '/' do
  File.read(File.join('public', 'index.html'))
end

ルートは String を返します。これがHTTPレスポンスボディとなります。 File.read はファイルを開き、ファイルを読み、ファイルを閉じ、その後に String .