我有一个 Sinatra 应用程序,它需要不同文件中的模块。当我在该模块(例如)中使用 Sinatra 命令时redirect "http://facebook.com"
,我得到一个NoMethodError
. 为了说明问题,我做了一个简化版:
--- mainapp.rb ---
#config
require './redirector.rb'
get '/' do
Redirector::redirect_to_stackoverflow
end
--- 重定向器.rb ---
module Redirector
require 'sinatra'
def self.redirect_to_stackoverflow
redirect "http://stackoverflow.com"
end
end
--- config.ru ---
require 'rubygems'
require 'sinatra'
require File.dirname(__FILE__) + "/ptt.rb"
run Sinatra::Application
怎么了?有没有我没有正确要求的地方?