He estado haciendo Ruby on Rails durante bastante tiempo. El problema 80/20 no es exclusivo de los rieles. Se aplica generalmente al mundo entero. Tampoco estoy al tanto de ningún marco que pueda hacer lógica de negocios para usted.
Para responder a sus preguntas específicas. Las convenciones no se interpondrán en tu camino mientras realizas el 20%. En cambio, las convenciones te ayudarán a superar ese 20% más rápido.
Personalmente, para autenticación de usuario, uso Authlogic. Para la autorización del usuario, uso el complemento Lockdown o Authorization dependiendo de la necesidad del cliente.
También uso inherited_resource en la mayoría de mis proyectos para simplificar el código del controlador. Este es otro poder de convención.
Para aumentar la velocidad de desarrollo, no solo necesitará conocer los rieles, sino también las gemas/complementos que hacen las cosas correctas para usted, para que no tenga que reinventar las ruedas nuevamente. Además, conocer el lenguaje de Ruby es una necesidad para desarrollarse rápidamente más allá del 80%.
Ruby Toolbox proporciona algunas de las gemas y complementos más populares utilizados en proyectos típicos de rieles orientados a dominios específicos. Puede consultar las categorías relevantes y saber qué usa la mayoría de la gente. (Y probablemente sea una buena idea usar gemas populares y bien mantenidas)
El desarrollo de estilo TDD/BDD también lo ayudará a acelerar en el largo plazo.
Por último, una advertencia: si se aleja de la convención de los rieles, tendrá un momento doloroso en general.
P.S. Utilicé a Merb antes. Mi sensación es que las convenciones te ayudan en Merb, pero no recibirás demasiada penalización por no seguirlas en Merb. Sin embargo, mi experiencia con Rails es que si decides no seguir las convenciones de los raíles mientras desarrollas la aplicación Rails, ¡volverá a morderte de una forma u otra! Así que piénselo dos veces cuando realmente intentó alejarse de las convenciones de los rieles ... (Esto es por mi propia experiencia, y por supuesto subjetivo, pero puede pensarlo como una advertencia ...)
Pareces confundir "interponerse en mi camino" con "no hacer el trabajo por mí", al menos a juzgar por tus ejemplos. (¿Tiene que diseñar vistas para que funcionen con la apariencia de su sitio? ¿Cómo es ese un ejemplo de cómo Rails se interpone en su camino?) – Chuck
Buen punto, Chuck. –