大家知道 rails 中类方法有的来自类,父类,模块混入,可怎么确定具体在哪里定义的这个方法呢?有没有相关的 gems 来解决这个问题?
可以简单使用 source_location 方法获取某个方法定义的文件和位置。
比如你有一个对象 bar,里面有一个方法 foo,bar 的定义比较复杂,搞不清 foo 在哪儿定义的,可以用下面方法打印位置
puts bar.method(:foo).source_location
原理同楼上, http://blog.liveneeq.com/tech/2015/12/13/how-to-navigate-source-code-in-ruby.html
#2 楼 @flowerwrong #1 楼 @vincent 多谢两位,的确是用 source_location