我是一个越来越喜欢使用 sinatra 的前端人员。我目前正在构建一个应用程序,并试图找到一种优雅的方式来干燥 myapp.rb 文件中的路线。
目前我有这些路线:
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
但是布局呢?这里只有 2 个布局,layout.haml 和 empty.haml(:layout 和 :empty),如果算上 3 个 :layout => false
这是最好使用哈希完成的事情吗?就像是:
layout_map = {
"" => "",
:content => "",
:show_layout => "",
:conversion => :empty,
:optout => false,
:terms => :empty
}
get '/:name' do
haml params[:name].to_sym, :layout => layout_map[:name]
end
似乎它在正确的轨道上,但我无法让它正常工作。
感谢你的帮助。