【发布时间】:2015-12-28 14:52:34
【问题描述】:
在 sinatra 中分配可用于所有视图(所有 erb 文件)的变量的最佳方法是什么。
我知道它可以在主文件中使用全局变量来完成,比如说 app.rb,但是有没有更好的方法可以在不使用全局变量的情况下做到这一点? 例如在 app.rb 中,我可以这样做:
@@a = "hello"
get '/' do
erb :index
end
get '/hi' do
erb :page
end
在 index.erb 和 page.erb 文件中:
<%= @@a %>
但是有没有办法在不使用全局变量的情况下做到这一点,或者全局变量是最好的方法吗?
【问题讨论】:
-
只使用
@a有什么问题?这应该工作 -
您可以使用常量。您可以定义一个辅助方法。您可以将会话变量用于每个用户的值。您可以使用全局变量。也许如果您明确了您的实际需求,您会得到更具体的帮助您的答案。
-
大家好,我发现使用
helper do; end;是最好的方法。谢谢大家的回答。欣赏它!