Ich habe eine Phönixroute, an die ich einige Formulardaten senden möchte, jedoch gibt es etwa 4 Felder des Formulars, die optional sind (das Formular wird vom Endbenutzer erstellt und daher sind diese Felder möglicherweise nicht in der POST-Nutzlast vorhanden) )
Wie würden Sie im Phoenix Controller für die Route damit umgehen?
Zum Beispiel:
Mein Formular hat
%Vor% Und POST das Formular muss immer Field1
und Field2
, aber kann eine beliebige Kombination der anderen Felder haben.
so ist mein Controller-Code so:
%Vor%Wie mache ich die anderen 3 optional? Wenn ich sie alle addiere, werden sie benötigt und ich möchte nicht für jedes der möglichen eingereichten Formulare eine Funktion ausführen müssen, da es übertrieben erscheint.
Die vom Controller empfangenen Parameter sind nur eine Karte, also suchen Sie wahrscheinlich nach etwas wie Map.get/3
. Mit dieser Funktion können Sie in diesen Zeilen etwas tun:
Sie können auch eine Zuordnung erstellen, die alle Standardwerte für die optionalen Parameter enthält, und dann Map.merge/2
:
Tags und Links elixir phoenix-framework