8

所以我有一个使用 sinatra 构建的网络服务器,其内容如下:

set :variable,"value"
get '/' do
  erb :index
end

当然,其中的模板views/index.erb看起来像这样:

<html>
<!-- etc -->
  <ul>
  <% my_array.each do |thing| %>
  <%="Something: #{thing}, variable from sinatra: #{settings.variable}"%>
  <% end %>
  </ul>
</html>

如果您尝试运行这样的代码,您会注意到您无法从 erb 模板内部访问 sinatra 的设置变量。有什么想法可以在保持简单性的同时实现这一目标吗?

提前致谢!

4

2 回答 2

2

我使用的是旧版本的 Sinatra - 更新到 1.0 版,它工作正常 :)

谢谢大家!

于 2010-04-02T23:31:44.300 回答
0

我有一个类似的问题,解决方法是确保所有的set :x, "y"东西都发生在类声明中(我的子类的Sinatra::Base)初始化方法之外。

于 2012-02-29T09:17:00.467 回答