sinatraでテンプレートを使用する
sinatraでHTMLの出力をしてみる-さくらのVPSではsnatraを使いHTMLの出力をしてみました。sinatraには便利なところがあり、layout.erbというのを使う事でレイアウトの共通化などができます。
実際にやってみる
index.erbファイルを開きます。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf8"> <title><%= @title %></title> </head> <body> <h1>表示確認</h1> </body> </html>
となっていると思います。このファイルを以下のように書き換えます。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf8"> <title><%= @title %></title> </head> <body> <%= yield %> </body> </html>
このようにします。h1の箇所が<%= yield %>と置き換わりました。のようにしたらlayout.erbとして新規に保存します。index.erbと同じ所にファイルを置きます。
ファイル構造
/home/logw/sinatra/public ├──/tmp │ └always_restart.txt #sinatraをブラウザで更新したら反映されるようにする-さくらのVPSで追加 ├──/views │ ├index.erb │ └layout.erb #今回追加 ├──config.ru └──myapp.rb
このようになります。ちょっとこのままアップすると少しおかしなことになるのでindex.erbを修正します。
index.erbの修正
index.erbを修正します。
<h1>表示確認</h1>
これでOKです。ファイルをアップロードして確認してみてください。特に何もソースなどは変わっていませんがlayout.erbが読み込まれている形になります。
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS