Ruby on rails Rails如何理解请求是什么?

Ruby on rails Rails如何理解请求是什么?,ruby-on-rails,Ruby On Rails,所以,我写了这段代码: module UniversityFinder def define_shortcut_part r=request subs=request.subdomains if subs.length>1 subs[1] else subs[0] end end def university university=University.find_by_shortcut(define_short

所以,我写了这段代码:

module UniversityFinder
  def define_shortcut_part
    r=request
    subs=request.subdomains
    if subs.length>1
      subs[1]
    else
      subs[0]
    end
  end
  def university
  university=University.find_by_shortcut(define_shortcut_part)
  end
end
它适合我的个人需要,在单独的文件中,并包含在我的一个控制器中的模块中

问题是,对于这个
请求
变量,我预期Rails会出现
未初始化常量
错误

相反,它工作得很好,做了我想做的事情


为了更好地理解,这纯粹是关于Rails源代码(“Rails魔术”)的好奇问题。这个变量甚至不被称为like实例变量(
@request
),但Rails仍然得到这个局部变量。有人能解释一下它是如何工作的吗?

我相信这与rails无关,这只是ruby模块的工作方式,当你将它们包含在一个类中时,它们的实例方法就变成了该类的其他实例方法(因此,就好像您在控制器内定义了方法,并在控制器对象上简单地调用了
request
方法)