所以我有一个使用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的设置变量。任何想法如何在保持简洁的同时实现这一目标?
提前致谢!
答案 0 :(得分:2)
我使用的是Sinatra的旧版本 - 更新到版本1.0并且工作正常:)
谢谢大家!
答案 1 :(得分:0)
我遇到了类似的问题,解决方法是确保所有set :x, "y"
内容都发生在初始化方法之外的类声明(我的Sinatra::Base
子类)中。