我正在使用Sinatra的set
方法来分配全局变量:
set :location, 'Melbourne'
我想更新此内容,以便变量是静态的还是动态的,具体取决于应用程序是处于开发还是生产中。我在下面尝试了这个,它在开发中有效,但不在生产中:
set :location, production? ? request.location.city : 'Melbourne'
request.location.city
来自地理位置宝石,此方法在其他情况下可以正常生产。我遗漏的if
语句中是否存在某些内容,或者Sinatra set
方法是否不接受语句?
答案 0 :(得分:1)
Request
在顶层不可用,只在请求处理程序中可用。
编写方法而不是全局设置,例如:
def location(request)
production? ? request.location.city : 'Melbourne'
end