Week 5 was a short one thanks to holidays, but we made the most of it by finally getting started with Ruby on Rails! Even though we had a really solid base in Ruby and Sinatra this was still a bit of a challenge, adding controllers to the MVC mix. If I’m honest, I was loving just working in pure Ruby, but the step up to Rails has been amazing – equal parts frustration and satisfaction (though the ‘frustration’ parts seem to take a lot longer!). I feel like I’m getting better and better at solving problems and finding the cause of errors.
We started off by looking at creating models, and learnt about has_many, belongs_to, has_many through and lots of other associations. We made sure our data had everything we wanted it to by adding validations to our models, and learnt how to add and remove fields with migrations.
Over the Easter long weekend I got stuck into a book on Rails (Rails 4 in Action) which, despite being for an older version of Rails, was brilliant – I’d highly recommend it to anyone who wants to get a more thorough understanding of the framework. It goes through everything step by step with clear and detailed explanations, and also makes sure you’re testing thoroughly as you go *and* committing often. As well as following along with the example app I kept playing with a few of my own alongside to really make sure I understood the concepts.
This week we got started on our final project, which should take us the rest of our Work Experience time (only two more weeks!!) to complete. We’re creating a trading app for people wanting to buy and sell Bees! Ok, maybe it’s not the next Facebook but it’s already proven to be a great tool to learn some really critical concepts. The main one of these from the last few days is nested routes, which throws up more errors than I thought possible, but we quickly learnt how to solve the most common of these.
This week also came with some very exciting news – I’ve been offered a full-time internship with Two Red Kites so I can stay on with them after work experience finishes! I couldn’t be more thrilled, I’ve already been learning so much and I can’t wait to keep on learning with such an amazing team.
If you’d like to know more about any of the topics we’ve covered, let me know in the comments and I’ll try and write a beginner-friendly blog post about them.