我正在將一個純HTML/CSS/JS網站移植到其後端使用Sinatra。我感興趣的主要是模板。目前,我有一個views目錄,其中包含名爲「index.html.erb」的HTML文件和名爲「layout.html.erb」的佈局。雖然我想用erb使用Sinatra的模板,但我正在使用的網站是靜態的。換句話說,我的「index.html.erb」沒有任何特定於erb的代碼。現在我只需要在我的視圖目錄中進行佈局。如何在Sinatra中使用帶有靜態文件的erb模板?
有沒有一種方法可以將views/index.html.erb移動到public/index.html,但仍然將其包含在模板views/layout.html中?
require 'rubygems'
require 'sinatra'
get '/index.html' do
@page_title = 'Home'
@page_id = 'index.html'
erb :'index.html', { :layout => :'layout.html' }
end
因此,如果我使用erb模板來包裝其他文件的佈局文件,那麼其他文件也必須是佈局文件?另外,爲什麼我需要單獨的佈局和模板文件夾? –
是的,如果你想使用模板,另一個文件也必須是模板。而且,您不一定需要單獨的文件夾,但我認爲這就是您的問題所要求的:/ views中的佈局和/ public中的模板。 –
啊好的,謝謝! –