Rails Project Week

Posted by Kevin O'Brien on September 14, 2019

For my Rails project, I decided to expand on my idea for my Sinatra portfolio project, with the addition of the ease and accessibility of the Rails framework, and some added functionality covered in the Learn curriculum. The idea was essentially the same: an application that would serve as a network for musicians and music producers, in order to collaborate on certain projects, and post their skillsets for other users to interact with. The site allows users to contact one another in order to negotiate pricing and timeframes. From the beginning of the project, the benefits of using Rails appeared endless. Due to the nature of rails generators, I was able to skip over some of the menial tasks of creating the same application in Sinatra. Additionally, routing in Rails is a lot more intuitive, and using the resources key instead of manually typing in all of the routes proved far more efficient. Thankfully, the project moved along swimmingly due to the study group videos posted by Enoch Griffith, however a couple small hangups had me challenging myself to look for a solution. For example, in order to create the nested index route for skillsets through a particular user, I had to create a class scope method which would limit the skillsets index page to a particular user, when that users link was followed. With help from my cohort lead, I was able to construct the necessary scope method, and expand the functionality of my application. Another thing I realized through working on this application was that my knowledge of object relationships and activerecord methods needed some reviewing. One of the most enjoyable parts of the project was adding omniauth functionality to the application, which allows users to sign in through Facebook. This proved to be a simple enough task, however the ease of use that it added was significant. I look forward to project review week for this, and hope to create something that is useful for musicians everywhere!