I'm new to Rails though I've been developing system software (C/C++) for 5+ years now.<p>I'm learning Rails through building an application that is similar to Twitter but which charges for each post (I know this is contrived, but it's the next step from a simplistic example application for me). I'm hoping this will teach me about authentication, integration with OAuth APIs, payment processing and overall Rails development.<p>I have been going through the http://www.railstutorial.org book and it's been very very helpful in understanding Rails basics. However, I am constantly hung up on how to either integrate various gems (i.e. devise) or create my own functionality within Rails architecture.<p>What are some resources people here would recommend for transitioning from a novice Rails dev to an intermediate Rails dev? I'm looking for guides, how-to's, etc. on architecture and patterns for developing an application using Rails; something that will talk about real-world experience(s). Don't get me wrong, I like going through the made-up examples as a complete novice, I need that to be comfortable with the language/framework/API, but what comes after that?<p>Thank you
For ideas on getting started visit <a href="http://rails-bestpractices" rel="nofollow">http://rails-bestpractices</a>.<p>That being said the only way to really understand best practices is to build a large app, with users and a live DB, then try maintaining it over time. Only then will you see how architectural decisions positively or negatively affect your application and your own engineering experience. You'll see why, for example, fat models and skinny controllers make your life far easier as your codebase grows.
We all learn differently but have you considered looking at actual Rails system as a source of inspiration and guidance? I generally find this the best way to learn.<p>There's the RailsCasts site which is open source:<p><a href="https://github.com/ryanb/railscasts" rel="nofollow">https://github.com/ryanb/railscasts</a><p>And, shameless plug, I'm kinda proud of the code quality for the Mogade server (myself feeling i just did the transition you are seeking to make):<p><a href="https://github.com/mogade/mogade-server" rel="nofollow">https://github.com/mogade/mogade-server</a>