Ruby Sinatra NoMethodError

时间:2013-09-08 11:07:46

标签: ruby sinatra

我尝试使用Ruby 1.9.3以及2.0运行它,但似乎没有任何效果。这是代码:

require 'sinatra'

before do
   set :display_string, 'Welcome from Ruby!'
end
get '/' do
   settings.display_string
end

错误是:

NoMethodError at /
undefined method `set' for (sinatra application code here)

此代码:

set :display_string, 'Welcome from Ruby!'

似乎导致了这个问题。我正在运行Thin 1.5.1,最新版本的Sinatra 1.4.3

编辑:如果set不在“before do / end”块之内,这似乎很有效。所以这是关于set在/ do块之前的设置。

1 个答案:

答案 0 :(得分:1)

我认为您应该使用configure block设置配置:

before do
  configure do
    set :display_string, 'Welcome from Ruby!'
  end
end

see more sinatra docs about the configure