2016-05-03 28 views
3

web/templates/user/form.html.eexに論理を追加して、とuser#editにレンダリングされる@current_userに応じてロジックを追加したいと思います。しかし、次のコードを実行すると、assign @current_user not available in eex templateエラーが発生します。私はform.html.eex@current_userを使用可能にするにはどうすればよい@current_userをform.html.eexで利用できるようにするにはどうすればよいですか?

<%= if @current_user do %> 
    <h1>Example</h1> 
<% end %> 

render("form.html.eex", changeset: @changeset, conn: @conn) 

そして、あなたが割り当てで利用可能な@current_userと「親」のテンプレートをレンダリングしている:あなたはのようなものを使用してform.html.eexをレンダリングしていると仮定すると、

+0

ビュー内で 'current_user'関数を定義し、' form.html.exx'の中で 'current_user(@conn)'を使うことができます。 – sobolevn

+0

'form.html.eex'をどこでどこでレンダリングしていますか? – Dogbert

+0

ユーザー#newとユーザー#編集 – wintermeyer

答えて

3

あなたのテンプレートでrender機能で@current_userを渡すことができます。

render("form.html.eex", changeset: @changeset, conn: @conn, current_user: @current_user) 

あなたはと割り当てのすべてを渡すことができます:あなたが明示的に覚えて、注意して行う必要がありますしかし

render("form.html.eex", @conn.assigns) 

が良いです暗黙のものよりも。

関連する問題