Salut,\n\nJ’essaie de créer un plugin qui affiche une case à cocher lors de la création d’un sujet dans l’interface utilisateur, et qui enregistre essentiellement un nouvel attribut dans la table des sujets. Essentiellement, j’ai besoin de récupérer l’attribut enregistré, que la case à cocher ait été cochée ou non, puis d’afficher le nouvel attribut lors de la visite d’une page de sujets.\nJ’ai commencé par le backend, en ajoutant une migration qui crée un nouvel attribut booléen pour les sujets, par défaut à false, et ensuite j’ai travaillé sur le contrôleur. Mais je n’ai pas réussi à trouver un moyen d’ajouter le nouvel attribut dans la fonction posts du TopicsController.\nJe n’ai rien trouvé de tel dans les tutoriels.\nMerci d’avance !\n\n\n\nafter_initialize do\n\n module ::DiscourseXPlugin\n class ::TopicsController\n\n def posts\n Rails.logger.info '┌────────────┐'\n Rails.logger.info '│ Here we go │'\n Rails.logger.info '└────────────┘' \n end\n end\n end\nend\n
1 « J'aime »
Une alternative à cela serait de créer une nouvelle méthode dans le contrôleur, comme « posts_with_new_attribute », qui est déclenchée via un nouvel point de terminaison si la case à cocher est cliquée, mais je ne suis pas sûr si cela serait plus compliqué.
1 « J'aime »
Vous devrez le faire avec une sortie de plugin dans le front-end d’Ember.
Vous voulez utiliser un champ personnalisé de sujet (TopicCustomField), pas modifier de tables.
Vous voudrez ajouter le champ personnalisé au sérialiseur de sujet.
Vous pouvez examiner d’autres plugins qui font ces choses pour des exemples.
1 « J'aime »
Ça a fonctionné ! Merci !!