2017-04-07 42 views
0

我想通過ajax/json創建部分更新方法。我的「更新」功能應該如何?Phoenix中的部分更新和函數簽名

def update(conn, %{"a" => a, "b" => b, "c" => c} = params) do 
    # .... 
end 

即,只有這些參數中的一個需要在時間。我如何指定?如果PARAMS包含abc

def update(conn, params) do 
    # .... 
end 

檢查:或者應該將做到這一點?

回答

2

您可以使用模式匹配來定義所有的可能性:

def update(conn, %{"a" => a} = params) do 
    # Do something when you have "a" 
end 

def update(conn, %{"b" => b} = params) do 
    # Do something when you have "b" 
end 

def update(conn, %{"c" => c} = params) do 
    # Do something when you have "c" 
end 

def update(conn, params) do 
    # Handle everything else 
end