こんにちは、千葉(@yoshi_chibaaa) です。
今回はブラウザ上で要素をクリックするだけでViewファイルを開くことができる「rails-template-inspector」を使ってみたので紹介したいと思います。導入も簡単で気軽に使うことができるため、View開発を効率化したい場合にはかなりおすすめのライブラリだと思います。
rails-template-inspectorとは
「rails-template-inspector」とは、ブラウザ上で要素をクリックするだけでViewファイルを開くことができるライブラリです。仕組みとしては、config.action_view.annotate_rendered_view_with_filenames
によって埋め込まれるコメントを探索しています。

使い方
実際に「rails-template-inspector」を導入し、どのような挙動になるか使ってみます。
事前準備
Rails6.1から追加された、Viewの呼び出し元を表示してくれる「annotate_rendered_view_with_filenames」を有効化する必要があります。
有効化手順については以下の記事を参考にしてください。

CDNの埋め込み
「rails-template-inspector」のCDNを埋め込みます。(開発環境でのみ使用する機能のためif Rails.env.development?
で囲っています。)
<!DOCTYPE html>
<html>
<head>
<title>AnnotateRenderedViewWithFilenamesDemo</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
<%= javascript_importmap_tags %>
</head>
<body>
<%= yield %>
<% if Rails.env.development? %>
<script type="module" src="https://cdn.skypack.dev/@aki77/rails-template-inspector"></script>
<rails-inspector url-prefix="vscode://file" root="<%= Rails.root %>" combo-key="command-shift-v"></rails-inspector>
<% end %>
</body>
</html>
url-prefix部分には自信が使用しているエディタを指定します。
- Visual Studio Code:
vscode://file
- RubyMine:
x-mine://open?file=
- MacVIM:
mvim://open?url=file://
- Emacs:
emacs://open?url=file://
動作確認
サーバーを起動し、ユーザー一覧画面(http://localhost:3000/users)にアクセスします。「shift + command + v」で「rails-template-inspector」を起動し、閲覧したい要素にカーソルを当てることでViewファイルを特定することができます。
また要素をクリックすることで、指定したエディタ(今回はVSCode)で該当のViewファイルを開くこともできます。
動画プレーヤー
まとめ
- 「rails-template-inspector」とは、ブラウザ上で要素をクリックするだけでViewファイルを開くことができるライブラリ
- 「rails-template-inspector」は、
config.action_view.annotate_rendered_view_with_filenames
によって埋め込まれるコメントを探索している
参考
- aki77 / rails-template-inspector
- Introducing rails-template-inspector: Open your view files by clicking browser elements
- ブラウザの要素をクリックするだけでRailsのviewファイルを簡単に開くことの出来るrails-template-inspectorの紹介
今回はブラウザ上で要素をクリックするだけでViewファイルを開くことができる「rails-template-inspector」を紹介しました。Viewファイルが膨大なアプリケーションの開発をする際に活躍しそうなライブラリだと感じました。