После того как я установить ключ :current_user
в Plug.Conn.assigns
, как это:Удалить запись из правопреемников
conn |> assign(:current_user, user)
Как я бросаю эту запись?
После того как я установить ключ :current_user
в Plug.Conn.assigns
, как это:Удалить запись из правопреемников
conn |> assign(:current_user, user)
Как я бросаю эту запись?
Самый простой способ:
Map.drop(conn.assigns, [:current_user])
Обратите внимание, что Map.drop
принимает в качестве второго параметра list
ключей понижаться.
Чтобы применить его на свя используйте:
conn = update_in(conn.assigns, &Map.drop(&1, [:current_user]))
Чтобы удалить один из 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)))
': current_user' в' conn.assigns', а не 'conn'. – Dogbert
Да, спасибо. Хорошая точка – PatNowak
И теперь вам нужно будет положить 'assigns' обратно в' conn', после чего ответ будет в значительной степени идентичным тому, что @Oleksandr отправил час назад. :) – Dogbert