Od jakiegoś czasu robię ruby na szynach. Problem 80/20 nie jest unikalny w przypadku szyn. Dotyczy to ogólnie całego świata. Nie wiem też o żadnej strukturze, która może po prostu logikę biznesową dla ciebie.
Aby odpowiedzieć na konkretne pytania. Konwencje nie staną na przeszkodzie, robiąc 20%. Zamiast tego konwencje ułatwią ci przejście o 20% szybciej.
Osobiście do uwierzytelniania użytkownika używam Authlogic. W celu autoryzacji użytkownika korzystam z wtyczki Lockdown lub Authorization w zależności od potrzeb klienta.
Używam również inherited_resource w większości moich projektów, aby uprościć kod kontrolera. To kolejna moc konwencji.
Aby przyspieszyć rozwój, będziesz musiał nie tylko znać Railsy, ale także klejnoty/wtyczki, które robią właściwe rzeczy dla Ciebie, więc nie musisz ponownie wymyślać kół. Znajomość języka Ruby jest niezbędna do szybkiego rozwoju ponad 80%.
Ruby Toolbox dostarcza niektóre z najpopularniejszych klejnotów i wtyczek używanych w typowych projektach szyn przeznaczonych dla określonych domen. Możesz przeglądać odpowiednie kategorie i wiedzieć, czego większość ludzi używa. (I prawdopodobnie warto używać popularnych, dobrze utrzymanych klejnotów)
Opracowanie stylu TDD/BDD pomoże również przyspieszyć w dłuższej perspektywie.
Wreszcie ostrzeżenie: jeśli odejdziesz od konwencji szyn, ogólnie będzie to bolesny czas.
P.S. Użyłem Merb przedtem. Mam wrażenie, że konwencje pomagają tobie, ale nie dostaniesz za dużo kar za nieprzestrzeganie ich. Jednak moje doświadczenie z Railsami polega na tym, że jeśli zdecydujesz się nie podążać za konwencją rails podczas tworzenia aplikacji rails, wróci cię, by cię ugryźć w taki czy inny sposób! Więc pomyśl dwa razy, kiedy naprawdę próbujesz oderwać się od konwencji szyn ... (To z mojego własnego doświadczenia i oczywiście subiektywnego, ale możesz myśleć o tym jak o ostrzeżeniu ...)
Wydajesz się być mylącym "stanąć na mojej drodze" z "nie wykonuj pracy dla mnie", przynajmniej sądząc z twoich przykładów. (Musisz zaprojektować widoki do pracy z wyglądem i stylem twojej strony? Jak to jest na przykład z Railsami?) – Chuck
Dobra robota, Chuck. –