Olá,\n\nEstou tentando criar um plugin que exiba uma caixa de seleção ao criar um tópico na interface do usuário e que salve um novo atributo na tabela de tópicos. Basicamente, preciso que o atributo seja salvo, quer a caixa de seleção tenha sido marcada ou não, e depois que o novo atributo seja exibido ao visitar uma página de Tópicos.\nComecei pelo backend, adicionando uma migração que cria um novo atributo booleano para Tópicos, com valor padrão falso, e em seguida trabalhei no controller. Mas não consegui encontrar uma maneira de adicionar o novo atributo na função posts do TopicsController.\nNão encontrei nada parecido nos tutoriais.\nObrigado antecipadamente!\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 '│ Aqui vamos nós │'\n Rails.logger.info '└────────────┘' \n end\n end\n end\nend\n
1 curtida
Uma alternativa a isso seria criar um novo método no controller, como “posts_with_new_attribute”, que é acionado por meio de um novo endpoint se a caixa de seleção for clicada, mas não tenho certeza se isso seria mais complicado.
1 curtida
Você precisará fazer isso com um outlet de plugin no front-end do Ember.
Você vai querer usar um TopicCustomField, não alterar nenhuma tabela.
Você vai querer adicionar o campo personalizado ao serializador de tópicos.
Você pode olhar outros plugins que fazem essas coisas para alguns exemplos.
1 curtida
Isso funcionou! Obrigado!!