Ciao,\nSto cercando di creare un plugin che mostri una casella di controllo durante la creazione di un argomento nell’interfaccia utente, che fondamentalmente salva un nuovo attributo nella tabella degli argomenti. In pratica, ho bisogno di salvare l’attributo sia che la casella di controllo sia stata selezionata o meno, e quindi mostrare il nuovo attributo quando si visita una pagina degli argomenti.\nHo iniziato dal backend, aggiungendo una migrazione che crea un nuovo attributo booleano per Topics, impostato di default su false, e poi ho lavorato sul controller. Ma non sono riuscito a trovare un modo per aggiungere il nuovo attributo nella funzione posts del TopicsController.\nNon ho trovato nulla di simile nei tutorial.\nGrazie in anticipo!\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 '│ Ci siamo │'\n Rails.logger.info '└────────────┘' \n end\n end\n end\nend\n
1 Mi Piace
Un’alternativa a questo sarebbe creare un nuovo metodo nel controller, come “posts_with_new_attribute” che viene attivato tramite un nuovo endpoint se la casella di controllo viene cliccata, ma non sono sicuro se ciò sarebbe più complicato.
1 Mi Piace
Dovrai farlo con un plugin outlet nel front end di Ember.
Vuoi usare un TopicCustomField, non modificare alcuna tabella.
Dovrai aggiungere il campo personalizzato al serializzatore dell’argomento.
Puoi esaminare altri plugin che fanno queste cose per alcuni esempi.
1 Mi Piace
Ha funzionato! Grazie!!