我在哪里将代码放在我想要执行一次的Sinatra(ruby web框架)中?

Cor*_*ger 7 ruby sinatra

我不知道这是一个红宝石问题还是一个Sinatra问题,因为我对两者都不熟悉.以下代码不起作用,我理解为什么,因为第一个my_variable是其块的本地.我只是不知道正确的语法.

require 'rubygems'
require 'sinatra'

configure do
    my_variable = "world"
end

get '/' do
    "Hello " + my_variable
end
Run Code Online (Sandbox Code Playgroud)

EDIT1 - 以下工作,但我想我对配置块的正确用途感到困惑.

require 'rubygems'
require 'sinatra'

my_variable = "world"

get '/' do
    "Hello " + my_variable
end
Run Code Online (Sandbox Code Playgroud)

Sim*_*tti 7

require 'rubygems'
require 'sinatra'

set :my_variable, "world"

get '/' do
  "Hello " + settings.my_variable
end
Run Code Online (Sandbox Code Playgroud)

  • 选项是应用程序级别设置,而配置允许您根据当前环境自定义行为. (2认同)