パーシャル化した部分テンプレートに変数を渡す方法
/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)