bin/rails cache_digests
Viewのテンプレートが依存しているパーシャルを一覧表示するコマンド。
bin/rails cache_digests:dependencies TEMPLATE=テンプレート名
- 指定したテンプレートが依存しているパーシャルを一覧表示
bin/rails cache_digests:nested_dependencies TEMPLATE=テンプレート名
- 指定したテンプレートが依存しているパーシャルを再起的に一覧表示
例として以下のViewがあるとする。
<%# app/views/user_accounts/edit.html.erb %>
<%= render 'form', user_account: @user_account %>
<%# app/views/user_accounts/_form.html.erb %>
<%= render 'foo' %>
<%# app/views/user_accounts/_foo.html.erb %>
<%= render 'bar' %>
_bar.html.erb
は空ファイルとする。
この状態でbin/rails cache_digests:dependencies TEMPLATE=user_accounts/edit
を実行すると以下の結果になる。
[
"user_accounts/form"
]
さらにbin/rails cache_digests:dependencies TEMPLATE=user_accounts/edit
を実行すると以下の結果になる。
[
{
"user_accounts/form": [
{
"user_accounts/foo": [
"user_accounts/bar"
]
}
]
}
]
ただし、_bar.html.erb
パーシャルがviews/application/
ディレクトリあったとしても上記と同じ出力結果となり、user_accounts/_bar.html.erb
がないためそこで探索が打ち切られてしまう(views/application/
ディレクトリについてはレイアウトとレンダリング - Railsガイド # 2.2.13.5 テンプレートの継承を参照)。
<%= render 'application/bar' %>
のようになっていれば、views/application/
ディレクトリに移って探索が続けられる。