local_assignメソッドとは?
ローカル変数を特定の状況に限ってパーシャルに渡したい時に使う。
用途
- renderした部分テンプレート内で使える変数を明示したい(明示したいだけで、使わなくてもいけそう)
- 変数が見つからない時に
|| 値
とセットしたりできる。
→local_assigns[:width] || 853
はwidthというローカル変数が見つからない時に、853という値を代入してくれる。
(app/views/admin/articles/article_blocks/_show_embed.html.slim) .box-body - if embed.identifier? - if embed.youtube? = render 'shared/embed_youtube', embed: embed, width: 560, height: 315 - if embed.twitter? = render 'shared/embed_twitter', embed: embed
(app/views/shared/_embed_youtube.html.slim) ruby: embed = local_assigns[:embed] width = local_assigns[:width] || 853 height = local_assigns[:height] || 480