确定方法在rails中所属的类

时间:2011-08-30 15:46:33

标签: ruby-on-rails ruby

 Ap::Application.routes.draw do
  resources :accounts
 end

我想知道“resources”方法所属的类或模块。如果我在http://apidock.com/rails/中搜索“资源”方法(在提供的搜索文本框中),则会出现一个类列表,其中包含方法名称“resources”。困惑,知道方法的起源。

他们可以使用的任何命令看到原点。

这个问题有点初学者水平。

由于

3 个答案:

答案 0 :(得分:6)

比搜索resources更有启发性的是搜索draw,因为该方法必须对传入的块执行某些操作。

确实,我们找到draw的源代码,它显示所提供的块是在Mapper的上下文中执行的,include s Resources, (最后!)定义resources

答案 1 :(得分:2)

Ruby是一种面向对象的语言。虽然方法不是Ruby中的对象,但您可以让Ruby为您提供一个表示相关方法的Method对象,然后您可以简单地告诉Method给您的所有者:

Ap::Application.routes.draw do
  p method(:resources).owner
end

答案 2 :(得分:0)

假设current_user是User类的实例,您可以调用方法函数来检查method_name是否属于User类。实施例

current_user.method(:method_name).owner  
User.method(:method_name).owner 

希望这对你有帮助!