2016-07-24 9 views
0

が含まれるように割り当てをレンダリング異なるサブビューの異なる胎児。例:は私が持っている私のapp.html.eexファイルではパーシャル

def :edit(conn, _params) do render(conn, "edit.html", feet: "edit-feet.html") end 残念ながら、残念ながら、feet.htmlをインポートするのではなく、単に「feet.html」を出力します。

これはどうやって可能ですか?

答えて

3

あなたはPhoenix.View.render/3を呼び出す必要があります:

<%= render YourView, @feet, [] %> 

feetを設定することはオプションで、あなたはそれが存在しない場合は、あなたが何かできることをレンダリングしたくない場合は、次の

<%= if feet = assigns[:feet] do %> 
    <%= render YourView, feet, [] %> 
<% end %> 

がでYourViewを交換してください表示はfeet.htmledit-feet.htmlです。

あなたはこれらのテンプレートに任意のassignsを渡す必要がある場合、あなたはあなたが渡したい値を持つ[]を置き換えることができます。

<%= render YourView, @feet, foo: "bar", baz: "quux" %> 
+0

' <%=フィート=が割り当てる場合は、[:足は]やる%> <%= render @view_module、@feet、%を割り当てます> <% end %> は私が探していたものです。 – mchavezi

+0

@mchavezi Pedantic comment: '@ feet 'を使用している場合、' feet = 'を行う必要はありません。あるいは 'if'の中で' feet'を使うだけです。あなたのコメントのバージョンには未使用の変数があります。 – Dogbert

関連する問題