W formularzu Phoenix Framework mam pole wyboru na mojej stronie, które ma opcję ustawienia wartości belongs_to na zero.W formularzu Phoenix Framework, jak ustawić relację belongs_to z powrotem na null, używając zestawu zmian?
<%= select f, :relation_id,
Enum.into(Enum.map(@relations, fn p -> {p.name, p.id} end),
[{"None", nil}]) %>
Formę zazwyczaj wysłać identyfikator, ale gdy jest wybrana wartość zero, to przekazuje wartość jako pusty ciąg:
"relation_id" => ""
Otrzymuję błąd z Ecto że changeset jest nieprawidłowy , ponieważ oczekuje liczby całkowitej. Prawdopodobnie mógłbym przechwycić mapę, ustawić wartość na null i przekazać zaktualizowaną mapę do zestawu zmian. Ale czy jest łatwiejszy sposób na zrobienie tego?
Jak wstępnie wczytać pole 'relations' w kontrolerze? Nie można znaleźć przykładu, jak to zrobić za pomocą zestawu zmian. Dzięki – Paco
Ahh - wybrana po prostu oczekuje podstawowej listy krotek i może zostać wygenerowana w dowolny sposób. W tym przypadku @relations było po prostu pociąganiem prostym za pomocą funkcji Repo.all: relations = Repo.all (relations_query), a następnie przekazywane do widoku w komendzie render. –