2017-03-25 42 views
0

我注意到當我在重定向之前執行put_resp_cookie()時,我的cookie沒有被設置。在Phoenix Framework Elixir重定向之前設置cookie

conn 
|> put_resp_cookie("shop", shop) 

if (some_condition) do: 
    redirect conn, to: "/foo/bar" 

在我的/ foo/bar控制器函數中,cookie沒有設置。有沒有辦法設置cookie?

+2

您是否忘記在設置cookie後重新指定'conn'? 'conn = conn |> put_resp_cookie(..)'? – Dogbert

+0

我想我會用做在於,根據這個博客帖子的語法:https://www.amberbit.com/elixir-cocktails/phoenix/reading-and-writing-cookies-in-phoenix-with-plug/ – sheldonkreger

+2

不,管道不重新分配。代碼工作的原因是因爲它在管道後面執行'if'時直接返回新的'conn'。 – Dogbert

回答

0

看起來你並沒有重新指派conn。您只需將conn轉入put_resp_cookie/2,但並未捕獲該值。您可能打算做這樣的事情,而不是

conn = conn |> put_resp_cookie("shop", shop) 
相關問題