2011-01-02 11 views
3

Liquidを使用すると、レイアウトをネストできます。たとえば、my site'sdefault layoutは、base layoutから構成されています。LiquidのようなネストされたERBテンプレートのレイアウト?

これはERBで可能ですか?もしそうなら、どうですか?

私はSinatraGitHub Pagesサイトを移行していますので、私は(ないWufooまたはGoogle Formsで)ネイティブ形式を扱うことができるように、私は、聞いていますのよ。

はlayout.haml(またはERBまたは任意のテンプレートをしている)と呼ばれるファイルを作成し、ビューのフォルダにそれを置く:

+0

** HAML **でどのようにこれを行うのですか? SinatraはLiquidをサポートしているので –

+0

@phofferはい、今私はERBでそれをする方法が不思議ですが(でもHAMLもクールです)、私は質問を編集してより意味をなさないようにしました。 – ma11hew28

答えて

2

はこれを試してみてください。 (私はHAMLを使用しています)これはあなたのサイトのレイアウトであり、それは次のようになります。

%html 
    %head 
    %link(rel="stylesheet" type="text/css" href="style.css") 
    %body 
    %div.outer 
     %div.inner 
     = yield 

魔法の部分はシナトラがあなたのルートに呼び出すどんなテンプレートレンダリングされますこれはどこで=yield です。 =はあなたのテンプレートにルビコードを期待します。

は、たとえば、あなたのルートは、/views/index.hamlであなたのテンプレートが挿入されます

get '/' do 
    haml :index 
end 

ある場合。 /views/layout.hamlのテンプレートを上書きするようにテンプレートに指示した場合は、カスタムレイアウトを使用することもできます。

これが役に立ちます。

+1

はい、レイアウトファイルを1つ使用する方法を示しています。しかし、どのように2つ以上のレイアウトファイルを入れ子にしますか?私がそれを改訂したので、私の質問を読んでください。 – ma11hew28

関連する問題