5
フェニックスフレームワークのフォームでは、私のページに、belongs_toの値をnilに設定するオプションがある選択ボックスがあります。Phoenix Frameworkフォームで、changesetを使用してbelongs_to関係をnullに戻すにはどうすればよいですか?
<%= select f, :relation_id,
Enum.into(Enum.map(@relations, fn p -> {p.name, p.id} end),
[{"None", nil}]) %>
形態は、通常IDを送信しますが、ゼロ値が選択された場合、それは空の文字列として値を渡し:私はチェンジが無効であることエクトからエラーを受信
"relation_id" => ""
それは整数を期待しているからです。おそらくマップを傍受し、値をnullに設定し、更新されたマップをチェンジセットに渡すことができます。しかし、これを行う簡単な方法はありますか?
コントローラの 'relations'フィールドをどのようにプリロードしますか?チェンジセットでそれを行う方法の例が見つかりません。ありがとう – Paco
ああ - selectはタプルの基本リストを期待していますが、好きなように生成することができます。この場合、@relationsはRepo.all:relations = Repo.all(relations_query)を使用した単純なプルであり、次にrenderコマンドのビューに渡されました。 –