Road to Ruby on Rails

Eduardo C. Aguirre
5 min readNov 9, 2015

--

As we have seen over the last few years web development has grown considerably. Many large and medium sized and some small sized companies have created their own websites. Some are simple and are just used to get the company known while others are much more complicated and are used as the main selling point or for handling large amounts of information.

Each one of these companies has a specific need that calls for specific needs in web development. These newer companies don’t want the older version of web development with plain PHP, they want something better that fits their needs and makes their lives easier. Many frameworks like Ruby on rails, Meteor, or Laravel try to cover these most of these needs and is the reason why they are very popular. Some of these frameworks are based on PHP others on Javascript but each one adds much more and makes it easier for web developers to develop what they need.

Me in web Development

I am just getting in the world of web development, and that’s what it is, a “world”, many things to see and learn, stuff that I might never see, some beautiful things while others not so much. As I mentioned I am very new to web development, just last year I started developing with plain HTML, PHP, CSS, and Javascript. This semester I have managed to gain much more knowledge in web development, I have learned how to use well a framework like Ruby on Rails, a cross-platform Javascript library like JQuery, and Bootstrap. I have still much to learn from these web development facilitators but it is still much more than what I use to know and it helps much in my life as a developer.

Since I recently acquired a job in web development I have been able to apply these skills into real life situations and I have seen their usefulness. For a school project I have been able to learn and apply Ruby on Rails, since this is the first real framework that I learn it has not been easy, but before I get into my road to becoming a Ruby on rails “expert” I’ll give a small introduction on what it is.

Intro a Ruby on Rails

Ruby on Rails is a framework written in Ruby(object-oriented programming language) which provides structures for database and web page design. It emphasizes DRY(Don’t repeat yourself) which help for headers, footers, or other recurring sections in the page so the developer won’t have to rewrite the code. It also uses MVC (Model View Controller) pattern which it uses to organize its programming. It also has support for TDD( Test Driven Development) which facilitates testing and reduces headaches during the final stages of development.

Learning Ruby on Rails

For me, learning Ruby on Rails has been a long trip, which is good and not so good. Good because it has allowed me to learn it better and not so good because it took me more time than expected which set me back a bit. My first difficulty was splitting my computer’s RAM in order to install Ubuntu to allow me to work better with Rails and its commands from the terminal. The next step was to set up the development environment, since I was not using C9 like the Ruby on Rails Tutorial started out I had to install Ruby on Rails specific for Ubuntu 14.04 which didn’t seem too difficult and since it had a git repository with all the needed packages I had it up and running in no time. The difficult part of this is that I switched computers after 2 weeks of using Rails and had to repeat the steps again, but for some strange reason it didn’t work like it did the first time. Every time I tried to run ruby on rails it from the terminal an error would appear and since Ididn’t know what they were I had no idea on how to fix it. Lucky for me a fellow team mate had experience with this and helped me understand the errors and look for a solution. For pretty much all of the errors I had it was only a matter of installing new packages for it to be fixed. Once everything was installed it was smooth sailing from there on out.

The Ruby on Rails tutorial have been of great help to me in the project that a team which I am a part of have been developing. Pretty much all that we have needed is in the tutorial, we just have to modify it a little bit to match our specific needs. Little by little I have discovered many of Rails “secrets” which are obviously in the tutorial but one does not know their true potential until one actually needs to use them.

One example is Rails sandbox, at the beginning I just saw it as a terminal where I could check the database and that would be it. But it has proven to be quite useful in my case since I have needed to do several database operations there and the good thing about it is that it has no actual effect in the database, everything is rolled back once the sandbox is exited.

Another example of this is Rails production and development sites. This has been especially useful to me since the team and I have been working on a project. We don’t want certain things from the development end to be viewed by the actual users or to affect the production end. In my case it was sending out emails, I didn’t want just any user that was using the website to click submit that would send out an email to other users. What I did was develop the email sending only for the development end until it was 100% right, once it was perfect and it was needed all I did was put it on the production end for all users to use.

Based on my limited knowledge on frameworks I would give Ruby on Rails a 10/10 on usefulness, 7/10 on how easy it is to learn, and 9/10 on programming structure, this is only based on my previous knowledge of plain HTML, CSS, Javascript, and PHP. Since I don’t have much experience with other frameworks this might change considerably once I learn a few more, but for now this has been a fun, productive, and applicable learning experience.

--

--