1
使用Sinatra和Slim,我該如何做模板繼承?我無法在Google上找到答案,Slim上的文檔很少。比方說,我有以下文件:如何使用Sinatra和Slim做模板繼承?
main.rb的
# Sinatra app
get '/login' do
slim :login
end
get '/display' do
slim :display
end
layout.slim
html
body
== yield
sub_layout.slim
div[id="parent_div"]
div[id="child_div"]
h3 Rendering content
== yield
p display.slim should be rendered in == yield
div[id="child_div"]
h1 Rendering stuff in sublayout
p Hello this div should go underneath the above div.
login.slim
p Welcome to the login page
display.slim
p Welcome to the display page
默認情況下,斯利姆將生成登錄時使用layout.slim爲基礎,所以它會自動繼承並顯示模板。
不過,我想display.slim從sub_layout.slim,這反過來又繼承layout.slim繼承。 login.slim將直接從繼承layout.slim,這是默認行爲,所以這很好。
我如何用Sinatra和Slim做到這一點?
謝謝,但我該如何讓'display.slim'呈現在'sub_layout.slim'的特定區域?我修改了我的問題,其中'sub_layout.slim'具有'== yield',如果一個tmeplate想要使用子佈局,所有內容都應該去。 – user21398
嗯,不知道。不太明白爲什麼你會想要那樣複雜的事情。但我的第一個猜測是檢查傾斜:https://github.com/rtomayko/tilt它負責在Sinatra中渲染模板,它看起來像你可以但在另一個塊中dislpay被重組。 – three