[前][次][番号順一覧][スレッド一覧]

rails:3844

From: 前川 てん <somohan@h...>
Date: Mon, 15 Oct 2012 20:55:20 +0900
Subject: [rails:3844] Re: renderメソッドの定義場所が分かりません


前川です。

出沢さん、ありがとうございます。
ちゃんと検索できたんですね。助かりました。

自分のコードでなぜrenderという名前が出てこないのかについては、
モジュールの中で別のモジュールが2重3重に入れ子にincludeされている
場合に関して、ついていけてないのが原因ではないかと後になって気が付きました。

その点に関しては、Ruby-talk MLでは別の方法を教えてもらえました。

source_file_name, line = *(method( :method_name).source_location)
とやれば、selfから利用できる:メソッド名を引数に(この例では:method_name)すれば
そのメソッドの定義ファイルと定義場所(行数)が分かるんですね。
#もしかして、すでに広く知られている方法…?

この方法で探してみたところ、
ActionControllerから利用可能なrenderは
ActionController::Instrumentationで定義されているものでした。

以上です。
またよろしくお願いします。


----------------------------------------
> Date: Mon, 15 Oct 2012 20:20:39 +0900
> From: dezawa@a...
> To: rails@r...
> Subject: [rails:3843] Re: renderメソッドの定義場所が分かりません
>
> 出沢です
>
> > のでhttp://api.rubyonrails.org で調べてみたところ、
> > メソッド名での検索ができない(?)らしく、埒が明きません。
>
> できますよ、
> 左上のtext入力に rend まで入れると、
> AbstractController::Rendering
> ActionController::Instrumentation
> ActionView::Helpers::RenderingHelper
> ActionView::PartialRenderer
> ActionView::Renderer
> ActionView::Template
> ActionView::TestCase::Behavior
> ActionView::TestCase::Behavior::Locals
>
> が render を持ってることが分かります。
>
> > そこで自分で調べてみようと思い、以下のようなコードを書きました。
> すごいな
>
> ざっと見たところでは、私の力ではなぜ出てこなかったのか分かりませんでした。
>
 		 	   		  

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3842 2012-10-15 04:43 [somohan@h...        ] renderメソッドの定義場所が分かりません  
      3843 2012-10-15 13:20 ┣[dezawa@a...         ]                                       
->    3844 2012-10-15 13:55 ┃┗[somohan@h...        ]                                     
      3845 2012-10-19 08:14 ┗[ochi@c...           ]