Lorsque j'essaie de rendre des données json, j'obtiens l'erreur suivante dans mon contrôleur.Poison.EncodeError à GET/api impossible de coder la valeur: {nil, "paths"}
Poison.EncodeError at GET /api
unable to encode value: {nil, "paths"}
web/controllers/api_controller.ex:1 App.ApiController.action/2
Après avoir cherché autour de moi à mon modèle essayé comme ceci:
defmodule App.Api do
use App.Web, :model
@derive {Poison.Encoder, only: [:basePath, :definitions, :paths]}
schema "apis" do
field :basePath, :string
field :definitions, :string
has_many :paths, App.Path
timestamps()
end
end
Ce qui ne semble pas résoudre l'erreur. Je suis arrivé cette erreur après avoir essayé de précharger mon champ de chemins dans mon contrôleur comme ceci:
defmodule App.ApiController do
use App.Web, :controller
alias App.Api
def index(conn, _params) do
apis = Repo.all(Api) |> Repo.preload(:paths)
render conn, "index.json", apis: apis
end
end
Je suis en mesure d'insérer des données trouvent dans ma base de données et je peux interroger tout cela avec:
Repo.all(Api) |> Repo.preload(:paths)
Des pensées sur quoi d'autre essayer? Merci
Merci travaillé comme un charme. –