私はsinatraの使用にますます夢中になっているフロントエンドの男です。私は現在アプリを構築しており、myapp.rb ファイルのルートを DRY するエレガントな方法を見つけようとしています。
現在、私はこれらのルートを持っています:
get '/' do
haml :content
end
get '/content' do
haml :content, :layout => :empty
end
get '/show_layout' do
haml :show_layout
end
get '/conversion' do
haml :conversion, :layout => :empty
end
get '/optout' do
haml :optout, :layout => false
end
get '/terms' do
haml :terms, :layout => :empty
end
テンプレートに関しては、次のようにしてそれらを組み合わせることができることを知っています。
get '/:name' do
haml params[:name].to_sym
end
しかし、レイアウトはどうですか?ここには、layout.haml と empty.haml (:layout と :empty) の 2 つのレイアウトしかありません。:layout => false と数えると 3 つです。
これは、ハッシュを使用して行うのが最適ですか? 何かのようなもの:
layout_map = {
"" => "",
:content => "",
:show_layout => "",
:conversion => :empty,
:optout => false,
:terms => :empty
}
get '/:name' do
haml params[:name].to_sym, :layout => layout_map[:name]
end
正しい軌道に乗っているように見えますが、適切に機能させることができません。
ご助力いただきありがとうございます。