さまざまな.erbファイルに基づくHTMLファイルをレンダリングするWebプロジェクトがあります。各.erbファイルはCookieの内容などの特定の情報を取得する必要があるため、これを行うための最善の方法がわかりません。
現在、私はこの概念を使用しています。
以下を使用してレンダリングされるすべての.erbファイルを含むディレクトリがあります。
ERB.new(template).result
レンダリングされたHTMLは、メインの.erbテンプレートに返されます。このテンプレートは、次を使用してsinatraによって再度レンダリングされます。
erb:main
結果はかなり良いですが、.erbがアクセスできないため、セッションベースのCookieのコンテンツを含める機会がありません。
私はかなり確信しています、sinatraフレームワークはこれを行うためのより良い方法を提供します。良い方法は...
require 'sinatra'
enable :sessions
get "/" do
content1 = erb :template1, :locals => { :cookie => session[:cookie] }
content2 = erb :template2, :locals => { :cookie => session[:cookie] }
erb :mainTemplate, :locals => { :content => [content1, content2] }
end
...しかし、残念ながらそれはそれほど簡単には機能しません:(
誰かもっと良いアイデアがありますか?