我想在Mustache视图中使用我的Sinatra帮助器方法。
我这样做:
# in app.rb:
...
helpers do
def helloworld
"helloworld!"
end
end
get '/'
mustache :home
end
...
# in views/home
class App < Sinatra::Base
module Views
class Home < Mustache
def hello
helloworld
end
end
end
end
# in home.mustache
<p>{{hello}}</p>
它不起作用,我有错误信息:
«未定义的局部变量或方法`helloworld'for App :: Views :: Home:0x000000023ebd48»
如何在Mustache视图中使用我的方法助手?
或者,如何直接在home.mustache中使用我的方法助手?像这样:
# in home.mustache
<p>{{helloworld}}</p>
非常感谢你的帮助!
答案 0 :(得分:1)
您应该可以对模块执行某些操作:
# app_helpers.rb
module AppHelpers
def helloworld
"helloworld!"
end
end
# app.rb
helpers AppHelpers
get '/'
mustache :home
end
# views/home.rb
class App < Sinatra::Base
module Views
class Home < Mustache
include AppHelpers
def hello
helloworld
end
end
end