【Rails】RailsのViewでの変数の表示/設定/伝播パターンの苦しみ
いろんなパターンがあるけど、それぞれやり方が異なっていて難しい(迷惑)
<%= @hoge %>
Controllerにて@hoge = 'hoge'
で設定しておく
あるいは
View内で<% @hoge = hoge %>
で設定
<%= hoge %>
View内で<% hoge = 'hoge' %>
で設定しておく
※@hogeはインスタンス変数(this, selfみたいな)、hogeはローカル変数
<%= hoge %>
をPartialの中に記述した場合、Perialの呼び出し元で変数を渡す
<%= render partial: 'shared/sample', locals: { hoge: 'hoge' } %>
<%= yield(:hoge) %>
<%= yield(:hoge) %>
はLayoutの中に記述
Layoutの呼び出し元で変数を渡す
<% provide(:hoge, 'ほげ') %>
<%= :hoge %>
シンボルで指定すると hoge がそのまま出力される (変数ではない)