Comment ajouter des données utilisateur au sérialiseur de publication ?

Je tente de créer un thème ou un plugin qui permettrait d’ajouter et de mettre à jour des liens dans le widget des publications. Je pense que l’approche la plus simple consisterait à inclure le champ website du profil utilisateur dans le sérialiseur de publication, mais je n’arrive pas tout à fait à faire fonctionner cela.

J’ai trouvé comment modifier le sérialiseur de publication pour ajouter des données simples, mais je ne parviens pas à déterminer comment ajouter des données provenant de l’objet User qui a créé la publication. Je suis également préoccupé par le fait de le faire d’une manière qui déclenche une requête de base de données pour chaque utilisateur/publication.

Y a-t-il des plugins existants que je devrais consulter pour obtenir des conseils ? Ou, mieux encore, existe-t-il un moyen d’ajouter les données de l’utilisateur d’une publication au sérialiseur de publication en surchargeant les widgets dans un composant de thème, sans avoir recours à un plugin ?

Merci !

Je pense que cela fonctionne, du moins de manière acceptable. Je n’ai pas réussi à comprendre comment ajouter le champ website au sérialiseur de publication, et il semble que je ne puisse pas ajouter un champ nommé user_custom_fields (peut-être est-il réservé). J’ai pu ajouter un champ user_extra_fields qui contient tous les user.custom_fields. Ensuite, dans mes composants de thème, je peux accéder à ces champs selon les besoins (bien qu’il soit un peu étrange d’être obligé d’utiliser un champ nommé user_field_1).

Ce qui suit a fait ce dont j’avais besoin :

after_initialize do
  add_to_serializer(:post, :user_extra_fields, false) {
    return object.user.custom_fields
  }
end