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

Ruby 是否可以在Sinatra中动态注入模板,ruby,sinatra,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 cach

我有一些(实际上有很多)内联模板,它们看起来都很像,我不想硬编码。有可能以某种方式动态注入它们吗

例如,而不是:

__END__

@@view1
==slim :defaultview

@@view2
==slim :defaultview

...
我想做一些像

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


如果每个模板都是这样做的,那么我不知道你为什么要创建一个模板来包装部分?

也许我完全误解了你的问题,但是如果你有类似的代码,听起来部分就是你想要的:@CDub恐怕你是@@defaultview(在上面的示例代码中没有看到)是我的部分视图,我只希望在其他视图的分数中使用它,而不是在数据部分键入它们,我希望迭代数组并在代码中设置此模板值。这有意义吗?想解释一下否决投票的必要性/理由吗?我也很好奇——我认为这是个好问题。
%w[view1 view2].map(&:to_sym)
               .each do |v|
  template v do
    "==slim :defaultview"
  end
end