Parliamo di cosa sia RJS prima di capire se è malvagio.
RJS applica lo stesso livello di astrazione alle librerie Javascript ad alto funzionamento che ActiveRecord fornisce per SQL. Tuttavia, la copertura RJS per le librerie Javascript non è neanche lontanamente completa come la copertura degli adattatori SQL di ActiveRecord.
Rails viene fornito con il supporto RJS solo per Prototype/Script.aculo.us. Tuttavia, ci sono plugin disponibili o in sviluppo per supportare altre librerie Javascript. Ad esempio JRails riscrive gli helper basati su Prototype per lavorare con jQuery. Esistono plugin simili per mootools e probabilmente Dojo.
Le persone che ritengono che RJS sia malvagio, sono in genere quelli che non si sentono a proprio agio nel produrre codice Prototype o coloro che ritengono di poter realizzare le cose più facilmente con JavaScript non elaborato.
RJS non è perfetto, proprio come ActiveRecord non è perfetto, ogni tanto devi scendere a scrivere Javascript o SQL raw per portare a termine il tuo lavoro. Anche in questo caso, come ActiveRecord, più ti senti a tuo agio con le opzioni avanzate più puoi ottenere senza scrivere il codice raw.
Una cosa meravigliosa di RJS è che sono essenzialmente viste, che producono Javascript. È molto semplice estrarre RJS in partial che possono essere inclusi se necessario, come risposte ai controller o come parte delle funzioni JavaScript personalizzate incluse nella pagina. Questo rende il codice molto più ASCIUTTO permettendo una manutenzione più semplice.
Personalmente uso spesso RJS. Lo trovo il modo perfetto per toccare un sacco di elementi DOM contemporaneamente. Viene fornito con il doppio vantaggio di permettermi di creare siti ricchi di AJAX, senza scrivere molto Javascript. Poi di nuovo odio scrivere Javascript.
Che cosa significa stand RJS? – JaredPar
@JaredPar Ruby Javascript – Joseph
LOL - all'inizio pensavo che questo fosse "RMS" e mi chiedevo cosa avessi contro Richard Stallman oi quadrati medi alla radice. –