2024-06-28 08:13:49
Bonjour, j’écris ceci pour poser une question.
Je veux savoir si l’utilisateur qui consulte actuellement un article a fait une recommandation,
alors j’ai écrit un calcul.
Mais il ne semble pas charger l’utilisateur actuel lorsque je fais ^actor(:id).
J’ai essayé de remplacer ^actor(:id) par l’UUID et cela semble bien fonctionner.
les calculs calculent :is_current_user_recommand, :boolean, expr(exists(thumb_ups, user_id == ^actor(:id))), public?: true end
Comment puis-je obtenir des acteurs à partir du calcul ?
Bien sûr, nous avons fait set_actor dans router.ex.
pipeline :api faire plug :accepte, [“json”]
fiche : load_from_bearer fiche : _set_actor fiche AshGraphql.Plug fin … def _set_actor(conn, _opts) do case conn.assigns[:current_user] faire nil -> utilisateur conn -> set_actor (conn, utilisateur) fin fin
^actor(:id) devrait fonctionner dans un calcul. Pour tester, j’essaierais d’ajouter une préparation à la requête que vous exécutez :
préparer la requête fn, contexte -> IO.inspect(context.actor) fin de la requête
Cela vous dira s’il s’agit d’un problème de calcul ou d’un problème de réglage de l’acteur.
#Échec #chargement #des #acteurs #partir #calcul #Questions #Aide #Ash
1719552976