Ruby on rails ruby内省:如何询问ruby方法的定义位置?
我在rails应用程序中有这样一个类Ruby on rails ruby内省:如何询问ruby方法的定义位置?,ruby-on-rails,ruby,metaprogramming,introspection,Ruby On Rails,Ruby,Metaprogramming,Introspection,我在rails应用程序中有这样一个类 class User < ActiveRecord::Base .. end class用户
class User < ActiveRecord::Base
..
end
class用户
该类没有方法调用方foo?
任何文件也不包括…
文件。
但是User.new.foo?没有响应,那么我如何询问此方法的定义位置?(byebug)User.last.method(:foo?)
(byebug) User.last.method(:foo?)
#<Method: User(#<Module:0x007fd4c0a03da8>)#foo?>
(byebug) User.last.method(:foo?).source_location
["/Users/user1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.2.7/lib/active_record/enum.rb", 122]
(byebug)
#
(byebug)User.last.method(:foo?).source\u位置
[“/Users/user1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.2.7/lib/active_record/enum.rb”,122]
(byebug)
(byebug)User.last.method(:foo?)
#
(byebug)User.last.method(:foo?).source\u位置
[“/Users/user1/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-4.2.7/lib/active_record/enum.rb”,122]
(byebug)
oops我想是从您提供的链接中找到的:User.new.method(:foo?).owner
oops我想是从您提供的链接中找到的:User.new.method(:foo?).owner