Ho fatto rubino su rotaie per un bel po '. Il problema 80/20 non è unico per le rotaie. Si applica generalmente al mondo intero. Inoltre non sono a conoscenza di alcun framework che possa solo fare la logica aziendale per te.
Per rispondere alle vostre domande specifiche. Le convenzioni non ti ostacolano mentre fai il 20%. Invece, le convenzioni ti aiuteranno a superare quel 20% più velocemente.
Personalmente, per l'autenticazione utente, utilizzo Authlogic. Per l'autorizzazione dell'utente, utilizzo il plug-in Lockdown o il plugin di autorizzazione in base alle esigenze del cliente.
Uso anche inherited_resource nella maggior parte dei miei progetti per semplificare il codice del controller. Questo è un altro potere di convenzione.
Per aumentare la velocità di sviluppo, non solo avrai bisogno di conoscere Rails, bensì gemme/plugin che fanno le cose giuste per te, così non dovrai reinventare nuovamente le ruote. Inoltre, conoscere il linguaggio Ruby è un must per svilupparsi rapidamente oltre l'80%.
Ruby Toolbox fornisce alcune delle gemme e plug-in più comuni utilizzati nei progetti di binari tipici rivolti a domini specifici. Puoi guardare attraverso le categorie pertinenti e sapere cosa usa la maggior parte delle persone. (Ed è probabilmente una buona idea usare gemme popolari e ben mantenute)
Lo sviluppo in stile TDD/BDD ti aiuterà anche a velocizzare nel lungo periodo.
Infine, un avvertimento: se ci si allontana dalla convenzione di rotaie, si avrà un tempo doloroso in generale.
P.S. Ho usato Merb prima. La mia sensazione è che le convenzioni ti aiutano in merito, ma non otterrai troppe penalità per non averle seguite in merito. Tuttavia, la mia esperienza con Rails è che se decidi di non seguire la convenzione di rails mentre sviluppi l'app per rails, tornerà a morderti in un modo o nell'altro! Quindi pensaci due volte quando hai veramente tentato di allontanarti dalle convenzioni dei binari ... (Questo è dalla mia esperienza personale, e ovviamente soggettivo, ma puoi pensare ad esso come un avvertimento ...)
Sembra che tu stia confondendo "mettiti sulla mia strada" con "non fare il lavoro per me", giudicando almeno dai tuoi esempi. (Devi progettare le viste per adattarle all'aspetto del tuo sito? Com'è che un esempio di Rails si intromette?) – Chuck
Buon punto, Chuck. –