0
votes

Phoenix Schema assigne lancer Phoenix.html.safe Non implémenté une erreur dans le formulaire Sélectionner

Je reçois l'erreur suivante: xxx pré>

à partir du code suivant: p>

CritiqueController P>

render(conn, "new.html", changeset: changeset, companies: Accounts.list_companies() |> Enum.map(&{&1.name}))


0 commentaires

3 Réponses :


2
votes

Sociétés = repo.all de C en société, sélectionnez: {C. Nom}

Ici, vous sélectionnez seulement Nom

Et vous essayez d'accéder à entreprise_id

essayer

Sociétés = repo.all (société)


1 commentaires

SALUT! Merci d'avoir chiming. Cependant, je pense que mon dernier commentaire vous a amené loin du problème réel (j'ai supprimé ce commentaire). Mon problème n'est pas en mesure d'accéder correctement à l'assignation @Companies en raison de «dangereux» HTML ou d'énumération. Je pense que vous êtes juste à propos de l'identifiant de la société - je devrais probablement saisir que si j'en ai besoin comme un param :) Changer la requête au fur et à mesure que vous le mentionnez inclut plus d'informations sur la société dans l'erreur d'énumération.



0
votes

Merci encore à @sanjaykumar - ils étaient partiellement corrects et aidés à me mener dans la bonne direction.

y compris l'identifiant aidé, mais le chargement de l'ensemble du schéma était inutile. Toutes les solutions suivantes fonctionnent: p> xxx pré>

ou p> xxx pré>

ou, ce que je vais avec: P >

companies = Repo.all from c in Company, select: {c.name, c.id}


0 commentaires

1
votes

oui

Lorsque nous appelons Repo.All (Société), il chargera toutes les colonnes de la table, elle charge également des métadonnées.Si nous avons une énorme quantité de données, il y aura une question de performance.

La 3ème requête que vous avez utilisée, rétablira la liste des colonnes que vous avez requises. Cela va certainement sauver la bande passante.


0 commentaires