让Sinatra助手随处可用?

时间:2015-05-12 17:48:50

标签: ruby sinatra

如何让我的Sinatra佣工随处可用?

有时我无法访问它们(例如,从模块,见下文)。我希望它们与“全局命名空间”联系在一起。他们可以从任何地方通过他们的名字来调用。

以下是一个正在运行的Sinatra应用程序,用于演示此问题。

require 'sinatra'

helpers do
  def bar
    "bar"
  end
end

get '/helper' do
  bar #works 
end

get '/module_and_helper' do 
  Foo.foo #crashes. How can I fix this?
end

module Foo
  extend self

  def foo
    bar
  end
end

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢@engineersmnky。而不是使用'助手做'您可以在应用中定义一个单独的模块和Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.happy); ,显然可以在任何地方使用它。

include
相关问题