是否可以在Sinatra中动态注入模板

时间:2013-11-18 16:25:30

标签: ruby sinatra

我有一些(好吧,实际上很多)内联模板,看起来都很相似,我宁愿不用硬编码。有可能以某种方式动态注入它们吗?

例如,而不是:

__END__

@@view1
==slim :defaultview

@@view2
==slim :defaultview

...

我想做点像......

%w[view1 view2].map{|v| templates[v] = "==slim :defaultview"} #templates would be Sinatra's internal template cache

1 个答案:

答案 0 :(得分:0)

使用named templates

%w[view1 view2].map(&:to_sym)
               .each do |v|
  template v do
    "==slim :defaultview"
  end
end

如果这是所有每个模板都有,那么我不确定为什么你要创建一个模板来包裹部分?