2017-02-19 5 views

ответ

0

Самый простой способ:

Map.drop(conn.assigns, [:current_user]) 

Обратите внимание, что Map.drop принимает в качестве второго параметра list ключей понижаться.

Чтобы применить его на свя используйте:

conn = update_in(conn.assigns, &Map.drop(&1, [:current_user])) 
+0

': current_user' в' conn.assigns', а не 'conn'. – Dogbert

+0

Да, спасибо. Хорошая точка – PatNowak

+0

И теперь вам нужно будет положить 'assigns' обратно в' conn', после чего ответ будет в значительной степени идентичным тому, что @Oleksandr отправил час назад. :) – Dogbert

0

Чтобы удалить один из conn.assigns (следующие примеры эквиваленты):

conn = Map.put(conn, :assigns, Map.delete(conn.assigns, :current_user)) 
conn = %{conn | assigns: Map.delete(conn.assigns, :current_user)} 
conn = update_in(conn.assigns, &(Map.delete(&1, :current_user))) 
Смежные вопросы