Makers Academy: Unleash Ruby on Rails

Week 8 has arrived and so has Ruby on Rails. This is what this course has been working towards and rails is the subject matter for the next three weeks. Just the fact that we had three weeks dedicated to rails showed how large the problem was likely to be.


Monday this week felt like a huge failure. It felt like we were just tossed into the deep end there were far too many things to come to understand in one go. For me the most challenging aspect of Rails is the fact that you need to edit code that you have not written. When you initialise a project a huge number of files are generated and even though I had not created these I did need to edit them to develop the project. That meant editing without full understanding but that is not something I am comfortable with. 

The biggest problem on day one of a Rails project is the rails generators. Rails favours convention over configuration. This means that everything has a rails way. When you initialise a rails project it assumes you understand this and creates all the pieces you need. Folders for Models views controllers helpers JavaScript Css Images unit tests, integration test etc etc. There are dozens of files. 

After the mayhem of Monday a few of us felt that we had been to quickly thrown in the deep end. Left to make our own way using on-line tutorials which was not exactly why we were here. Tuesday therefore we sat down and watched a more in depth introduction. Over the course of the day we spent more than 4 hours in classes.

The weeks project was to build a quiz app but I did not focus well on that. As everything was information overload I spent hours rooting around in the online resources particularly the Rails Guides. Definitely the best resource I have found so far.

To ensure maximum confusion Friday there was a workshop on node.js. Despite that previous comment this was an excellent workshop run by a team from papers. They were fun guys and brought excellent pizza. The talk was to introduce us to node through an example app using websockets to power tetras. Given a very simple game we had to patch in changes. We managed to implement a pause function, a speed change function. Most impressively we also got a drop to the bottom command to work.

This weeks helpful resource is the Rails Guides obviously. Also found was this nice gem of a capybara cheat sheet