Modifiche al codice di test live dell'app non riflesse nel front-end

Ciao,

Provenendo dallo sviluppo su joomla/wordpress, sono curioso riguardo alla funzionalità di modifica dei file backend di discourse tramite docker.
Ho letto la documentazione su come creare un plugin (How can I make my own Discourse plugins? - #2 by merefield), ma non voglio farlo ancora, voglio solo poter testare il codice in tempo reale.

Su un’installazione MVC non docker, modificando un file tramite ftp, era immediatamente riflesso e mentre con docker capisco la necessità di ricostruire l’app per applicare modifiche permanenti, cosa fare se si vogliono testare le cose in tempo reale?

Le modifiche al codice per test in tempo reale non sembrano funzionare:

Ad esempio, voglio disabilitare le ricerche per gli utenti anonimi, quindi ho modificato:
/var/www/discourse/app/controllers/search_controller.rb aggiungendo “if current_user.present?” dopo “def show” con un “end” in fondo alla funzione.

Sono rimasto sorpreso che questo non abbia avuto alcun effetto sul frontend, e anche rinominare il controller in search_controllerold non avrebbe avuto alcun effetto sulle ricerche.

Ma in qualche modo, rinominare un’immagine in /var/www/discourse/public/images# nasconderebbe l’immagine sul frontend :)!

Qualcuno può dirmi come funzionano le cose qui, c’è un’altra versione memorizzata nella cache del sistema oltre all’app che parte dalla sua immagine?

Grazie

Ok, ho scoperto che il codice viene modificato se modifico i file in ./javascripts/discourse/node_modules/.embroider/rewritten-app/
Ora mi sento meglio :slight_smile:

1 Mi Piace

Sembra più un anti-pattern.

Probabilmente verrà sostituito ad ogni build.

Guarda il materiale in Documentation > Developer Guides e gli innumerevoli esempi reali open source per vedere come modificare il front end tramite Theme component e sia il front che il back tramite #plugins

2 Mi Piace

Grazie per la condivisione! Lo controllerò e forse mi impegnerò più seriamente a un certo punto, per il momento volevo solo testare le modifiche live e non capisco perché non vengano visualizzate nel front end con la stessa facilità con cui era con un ftp su joomla/wordpress.