質問するログイン新規登録
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 3

Ruby on Rails3はRubyによって書かれたオープンソースのウェブフレームワークです。Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

2回答

662閲覧

メソッドの定義場所を確認したいけどclassがわからない

yuzuki-tech

総合スコア11

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 3

Ruby on Rails3はRubyによって書かれたオープンソースのウェブフレームワークです。Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2022/03/27 13:21

0

0

前提・実現したいこと

vscodeを使いrailsでアプリ開発をしており、自分で定義したメソッドの定義されているファイル名、内容を確認したいです。
source_locationを使う場合、メソッドの所属クラスを知る方法が分かりませんでした。

発生している問題

検索をした結果F12+クリックとsource_locationで定義場所を検索できそうでしたが、
F12はクリックしても反応しませんでした。
UsersControllerクラスのshowメソッドの定義場所を知りたい時、
UsersController.new.method(:show).source_location
フォルダ名を検索することはできましたが、showメソッドのみの情報でshowメソッドの所属クラスを知る方法が分かりませんでした。

自分で調べたことや試したこと

ruby メソッド 所属クラス 検索
等で検索しましたが、それらしいものは見つけられませんでした。

使っているツールのバージョンなど補足情報

・Ruby(3.0.1)
・Ruby on Rails(6.1.3.2)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

何が問題なのかよくわからないのです、、、
UsersControllerクラスのshowメソッドの定義場所を知りたい時、 => app/controllers/users_controller.rb です。 includeしているmoduleがあればそこかも。
showメソッドの所属クラスを知る方法が分かりませんでした。 => UsersController.new.method(:show).source_locationで検索したのですから、classはUsersController です

投稿2022/03/27 21:40

winterboum

総合スコア23675

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuzuki-tech

2022/03/27 22:29

自分で定義したメソッドの定義場所を知るためにsource_locationを使う場合、メソッドのみからメソッドのclassが分からないので、classを検索する方法はないでしょうか?という意図でした。
winterboum

2022/03/27 22:45 編集

やはりよくわからない。 そのmethodを調べたいのですから、それが使われている場所を見ているわけですね? でしたら そのレシーバー(のクラス)がそのmethodのclassです。
guest

0

ベストアンサー

検索で "def show" を検索するのではだめですか。
下の画面例では コントローラが 1つしかないので、ヒットするのは1箇所ですが。

イメージ説明

あるいは show を呼び出している箇所の直前で break point して、step すれば、method の銭湯に行くので、
どのクラスの shos が呼ばれたかは確実にわかります。

投稿2022/03/27 14:21

katoy

総合スコア22328

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuzuki-tech

2022/03/27 22:31

def show検索で解決しました! 検索でファイルの中まで検索できることを知りませんでした。 とても初歩的な質問だったかもしれませんが助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問