LoginSignup
0
0

More than 5 years have passed since last update.

Ruby on Rails :レンダリングさせた部分テンプレートに変数や配列を渡す方法。

Last updated at Posted at 2018-12-12

パーシャル化した部分テンプレートに変数を渡す方法

/views/hoges/_hoge.html.erbを部分テンプレートとしてレンダリング先に変数を渡す場合。


<%= render partial: "hoges/hoge", locals:{hoge:hoge} %>

この時注意するのは、localsで変数を渡す際は、ハッシュで指定してあげる事。
また、<%= render "hoges/hoge", locals:{hoge:hoge} %> のようにpartialシンボルを書かずに、
レンダリングするテンプレートを指定して、localsシンボルを書いて、渡す変数を指定すると、エラーが吐かれるので、必ず上記のように、localsを指定する際には、partialsでレンダリングする部分テンプレートも指定してあげる。
逆に、partialsシンボルを記述しない場合は、localsシンボルも指定しない。


<%= render "hoges/hoge", {hoge:hoge} %>

レンダリングした部分テンプレートに渡した変数は、渡してあげたハッシュのキーで参照することができる。

パーシャル化した部分テンプレートに配列を渡す方法

<%= render partial: "hoges/hoge",collection:(配列が格納されている変数),as:"(適当な変数名)"%>

配列を渡す際は、collectionで配列を指定してあげる。例えば、何かのリソースを一覧表示させる際に、その一覧表示部分を部分テンプレート化して、レンダリングさせたい時などに使える。
レンダリングさせた部分テンプレート先で、この配列を参照する際には、asで指定した変数で参照することができる。(どんな変数を指定してもOK)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0