如果有一些这样的控制器
def index(%{assigns: %{current_user: %User{} = current_user}}} = conn, params) do
## User exists
end
def index(conn, params) do
## No user exists
end
如果我运行这个测试,我希望它调用第一个 #index 操作,但它调用第二个操作,没有用户,并且由 conn 分配%{current_user: nil}
test "GET /posts", %{conn: conn} do
user = insert(:user)
conn = assign(conn, :current_user, user)
get(conn, post_path(conn, :index))
end
为什么没有正确分配 current_user?为什么会消失?