1

我正在为 Ruby 制作一个 Rack 框架,它App::Router在以下内容中运行一个模块:

module App
    Router = HttpRouter.new do
        get('/') { |env| erb('home') }
    end
end

注意erb()我希望在路由器中使用的方法。问题是将方法从外部源(我的框架)获取到模块中并传递到内部的do块中。

有没有一种可能的方法将模块从外部源获取到另一个文件中的模块中?

谢谢。

4

2 回答 2

2

erb 是您在某处定义的方法吗?尝试这样的事情:

    require 'path/to/module/with/erb_method'
    module App
      include YourModule
      Router = HttpRouter.new do
        get('/') { |env| erb('home') }
      end
    end
于 2012-04-30T17:49:57.737 回答
2
module App
  def foo
    "bar"
  end
end

module Route
  include App
end

include Route

foo
 => "bar" 
于 2012-04-30T17:40:41.330 回答