当涉及assign/3
时,我应该使用redirect/2来发送类似[1]的消息参数。然后我想在索引操作中获取message参数。
def index(conn, %{"member_id" => member_id}) do
# Show index page.
message = conn.params[:message]
end
def create(conn, _params) do
case Casher.create_members(members) do
{:ok, members} ->
conn
|> put_flash(:info, "Updated successfully.")
|> assign(:message, message) #[1]
|> redirect(to: page_path(conn, :index, member_id))
end
然而,似乎没有在索引动作中获得参数。 我应该如何得到一个额外的参数如消息。 我不喜欢改变索引动作的参数。
答案 0 :(得分:7)
assign
在当前请求的连接结构中存储一个值。如果要传递应该在重定向URL的参数中读取的值,可以将其传递给路径生成器函数,如下所示:
conn
|> put_flash(:info, "Updated successfully.")
|> redirect(to: page_path(conn, :index, member_id, message: message))