Ruby on RailsでView間で値を受け渡す方法
簡単なメモですが、忘れないように。。。 View間で値を受け渡す方法についてまとめました。
View間で値を受け渡す方法
渡す側:provide / content_for
以下の2つの方法で、値を渡すことができます。 基本的に使い方は同じです。
<% provide :foo, 'foo' %>
<% content_for :foo do %>
foo
<% end %>
これらは繰り返し書くことによって値をスタックすることもできます。
content_for
の方は、flush
オプションでスタックを削除したりできるので、込み入った使い方をしたい場合はこちらかもしれません(適当)。
<% content_for :foo do %>
foo
<% end %>
# => "foo"
<% content_for :foo do %>
bar
<% end %>
# => "foo bar"
<% content_for :foo, flush: true do %>
baz
<% end %>
# => "baz"
受ける側:yield
これはyield
を書くだけです。
<%= yield :foo %>
おわりに
おわりです。