Erb与Sinatra在红宝石中

时间:2010-04-02 17:56:21

标签: ruby sinatra erb

所以我有一个使用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的设置变量。任何想法如何在保持简洁的同时实现这一目标?

提前致谢!

2 个答案:

答案 0 :(得分:2)

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

谢谢大家!

答案 1 :(得分:0)

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