我有一个继承自App
的{{1}}课程,以及Sinatra::Base
中与AppHelper
一起使用的模块helpers AppHelper
。如何从App
?
App
中定义的设置
以下是一些示例代码:
AppHelper
这是帮助者:
# app.rb
require "sinatra"
require "./helper"
class App < Sinatra::Base
set :message, "Hello, World!"
helpers AppHelper
get "/" do
helper_method
end
end
if __FILE__ == $0
App.run! port: 4567
end
不幸的是,这会产生
# helper.rb
module AppHelper
def helper_method
settings.message
end
end
如何从助手模块访问设置?
答案 0 :(得分:1)
尝试切换依赖项的顺序:
helpers AppHelper
set :message, "Hello, World!"
答案 1 :(得分:0)
我的真实代码与我的例子有点不同(我认为这无关紧要)。我在config.ru中定义我的设置,所以dax的答案对我的应用程序不起作用。我能够使用Sinatra::Application.settings
代替settings
解决该问题。