ztbuz@dev

人生に絶望しているZが、それでも技術を身につけようと必死になるブログ

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 %>

おわりに

おわりです。