2011-12-18 7 views

答えて

17

あなたは

Post.method(:all).source_location 

を使用し、メソッドが定義されているファイルと行を知りたい場合は、Cメソッドの場合、それはあなたの[file, line]nilを与えるだろう。

7

メソッドはMethodオブジェクトで使用できます。その時点ではowner属性となります。したがって、次のようなことができます:

puts Post.method(:all).owner 

これは、メソッドを定義するモジュール/クラスを教えてくれます。

+0

私にとってはうまくいかない - メソッドが含まれているモジュールで定義されていても、クラスを戻すだけです。 – klochner

+0

@klochnerどのクラスですか? – Reactormonk

+0

これはあなたの例ではPostです:allは他のモジュールで定義されています – klochner

関連する問題