Je travaille sur un plugin qui attribuera une balise par défaut aux nouveaux sujets créés dans une catégorie.
Le code ci-dessous « fonctionne » si je saisis des noms de balises séparés par « | », donc « tag1|tag2 » fonctionne. (J’ai du mal à y croire ! Mais je m’écarte du sujet.)
<h3>{{i18n 'topic_default_tag.title'}}</h3>
<section class='field default-tag'>
<div class="default-tag">
<label>
{{input type="list" value=category.custom_fields.default_tag }}
{{popup-input-tip validation=tagValidation}}
{{i18n 'topic_default_tag.default_tag'}}
</label>
</div>
</section>
Ce que je souhaite maintenant, c’est avoir un vrai sélecteur de balises plutôt qu’une chaîne non validée. Il semble que le code ci-dessous devrait fonctionner :
<h3>{{i18n 'topic_default_tag.title'}}</h3>
<section class='field default-tag'>
<div class="default-tag">
<label>
{{tag-chooser tags=category.custom_fields.default_tag tabindex="4" categoryId=category.id}}
{{popup-input-tip validation=tagValidation}}
{{i18n 'topic_default_tag.default_tag'}}
</label>
</div>
</section>
Mais ce n’est pas le cas. La base de mon problème est que je n’ai presque aucune idée de la façon dont fonctionne la magie de ces Handlebars. Par exemple, je suppose que la première section fonctionne parce qu’elle récupère magiquement le nom du champ depuis default-tag dans <section class='field default-tag'>, mais c’était de la chance. ![]()
Lorsque j’utilise tag-chooser, les balises sont transmises à Rails sous forme de tableau, qu’il rejette avant que je puisse les convertir en une chaîne délimitée par | à insérer dans CategoryCustomField. Avec {{input type=list...}}, je peux saisir moi-même la chaîne délimitée par | et tout fonctionne parfaitement. Dois-je utiliser une sorte de magie Ember pour convertir le tableau en chaîne côté Ember ?
Peut-être que je dois faire quelque chose comme What's the best approach to access category specific settings? ?
EDIT : Pour ajouter des balises avant que le webhook ne soit appelé, utilisez after_create plutôt que DiscourseEvent.on(:post_created). Rails a maintenant du sens pour moi, mais Ember, JavaScript et CSS, pas vraiment.