Quantcast
Channel: hachi8833の記事一覧|TechRacho by BPS株式会社
Viewing all articles
Browse latest Browse all 1826

Rails: ルーティングを動的にビジュアル表示する方法

$
0
0

以前Railsウォッチ20201012でご紹介した内容を自分用に別記事にしました。

RailsのルーティングをFSM(有限状態機械)の形式でHTMLファイルに出力し、動的にルーティングをシミュレートできる機能です。

参考: 有限オートマトン - Wikipedia

⚓ Railsのルーティングビジュアライザ

⚓ 必要なもの

  • Railsローカル実行環境
  • graphviz

なお、2012年の56fee39でJourneyがAction Dispatchに統合された時点で既にビジュアライザのコードが入っているので、もっと前からこの機能があったようです。少なくともRails 4以上で使えるはずです。

⚓ 利用法

  • 自分のローカル環境にgraphvizをインストールしておきます。MacでHomebrewを使っている場合はbrew install graphvizでインストールできます。
  • Railsプロジェクトのルートディレクトリで以下を実行し、出力されたout.htmlをブラウザで開きます。

$ bin/rails r 'File.binwrite "out.html", <アプリ名>::Application.routes.router.visualizer'

なお<アプリ名>はRailsのアプリ名に置き換えます(アプリ名はconfig/application.rbにある大文字で始まるモジュール名を使います)。

もちろんRailsコンソールでも実行できます。

File.binwrite "out.html", <アプリ名>::Application.routes.router.visualizer

出力されたHTML冒頭のボックスにルーティングを入力して[simulate]を押すと、該当するルーティングがFSM図上でハイライトされます。

⚓ 参考

この機能は、Kaigi on RailsのAaron Pattersonさんによるオープニングキーノートスピーチ『Viewがレンダリングされるまでの技術とその理解』でRailsの秘密機能として紹介されていました(動画は頭出し済み)。

関連記事

Railsのルーティングを極める(前編)


Viewing all articles
Browse latest Browse all 1826

Trending Articles