基本上我有一个文件,foo.rb
在该文件中,我定义了@bar。然后在我的app.rb
我有类似
get '/' do
load 'foo.rb'
haml :index
end
并在index.haml
我尝试使用@bar
,但@bar
是 nil 。 =(
有办法做到这一点吗?基本上,我想将代码分解为单独的文件并在每个路由处理程序中加载它们。
答案 0 :(得分:0)
我认为,您可以使用“帮助程序”为您提供一种分离业务逻辑的好方法。在你的情况下,它将是这样的:
**** foo.rb ****
helpers do
def bar
"Hello, world!"
end
end
**** app.rb ****
require 'sinatra'
require 'path/to/your/foo.rb'
get '/' do
bar
end
该片段将呈现为带有“Hello,world”行的html页面。