Ben bir haritaya dönüştürmek istediğiniz Ecto changeset hataların bir anahtar kelime listesi var ki Zehir JSON ayrıştırıcı can JSON biçiminde doğrulama hatalarının bir liste doğru çıktı. aşağıdaki gibiElixir: Anahtar kelime listesini bir haritaya nasıl dönüştürebilirim?
yüzden hataların bir listesini almak:
[:topic_id, "can't be blank", :created_by, "can't be blank"]
... ve şöyle hataların bir harita almak istiyorum:
%{topic_id: "can't be blank", created_by: "can't be blank"}
Alternatif Elimde olsa onu bir dizeler listesine dönüştür, ben de kullanabilirim.
Aşağıdaki görevlerden biri başarmanın en iyi yolu? Eğer bir anahtar kelime listesi yoktur ne var
bu kullanım Dava hakkında daha fazla bilgi bulabilirsiniz Bunu hemen denemek olamaz, ama 'son örneği azaltmak mümkün olmalıdır bir his var [...] | > Enum.chunk (2) |> Enum.into (% {}) ' –
Ah, bir liste ve bir anahtar kelime listesinde arasındaki farkı kaçırdı. Teşekkürler! –
Ayrıca OP ile aynı sorunu yaşıyorum, sadece Changeset'in uygulamasını değiştirdiğine inanıyorum. Değişiklik hatalarını ATOW _is_ bir anahtar kelime listesi, ör. [alan_1: {"geçersiz", [tür: Ecto.UUID]}, alan_2: {"boş bırakılamaz", []}] '. Bu yanıtın 'Enum.into' yaklaşımını kullanarak error_map = Enum.into (changeset.errors,% {})' kullanarak bir haritaya dönüştürebiliyordum. Bir harita olarak, mesajımı '{err_msg, _type} = Map.fetch! (Error_map,: field_1)') ile alabilirim. – ibgib