确定方法在rails中所属的类
Ap::Application.routes.draw do resources :accounts end
我想知道“resources”方法所属的类或模块。 如果我在http://apidock.com/rails/中搜索“资源”方法(在提供的搜索文本框中),则会出现一个类列表,其中包含方法名称“resources”。 困惑,知道方法的起源。
他们可以使用任何命令来看看原点。
这个问题有点初学者的水平。
谢谢
Ruby是一种面向对象的语言。 虽然方法不是Ruby中的对象,但您可以要求Ruby为您提供一个表示相关方法的Method
对象,然后您可以简单地告诉Method
给您的所有者:
Ap::Application.routes.draw do p method(:resources).owner end
比搜索resources
更有启发性的是搜索draw
,因为该方法必须对传入的块执行某些操作。
实际上,我们找到了draw的源代码,它显示了提供的块是在Mapper
的上下文中执行的,其中include
s Resources
,它们最终定义了resources
假设current_user是User类的实例,可以调用method函数来检查method_name是否属于User类。 例
current_user.method(:method_name).owner User.method(:method_name).owner
希望这对你有所帮助!