My experience with Ruby on Rails
I was studying in my 5th semester in IIIT Bangalore. We had a DBMS project which we are expected to do in Ruby on Rails. That was the first time I started working on frameworks. The project was to build an Intellectual property platform for our college IP. We took around 1 month to make sense of the workflow’s and to write the SRS(Software requirements specification) document. Finally, 2 weeks before the submission deadline I had to start writing the code.
Whenever I read about the best way to learn ruby on rails, I’ll soon get recommendation for Michael Hartl’s Rails tutorial. As there was no time for that, I started directly building the login/signup page for the app. I started making forms in html and created a table in my database. On that day, I had no certainty that I could finish this project using ROR(Ruby on Rails). Now suddenly the next day I went to one of my companions who had built this login/signup page and asked him for how much time he took to do this. He replied me “It took a minute, use devise”. I went and hunt down devise and found this gem. I was really astounded to see how that gem does all the work for you. You need not worry about the frontend, backend etc. You just need to take effort to install the gem in your project. On that day, some confidence grew in me that using rails I could complete this project. I started adding bootstrap using another gem. Everything was going cool with the assistance of gems.
One of the coolest things in ROR is its MVC architecture. The MVC architecture that makes it exceptionally difficult for you to swindle. It is also protected against DDos attacks. The more you adhere to the MVC framework the simpler it will be for you to keep up your application. Also, Rails terminal will be exceptionally helpful to check whether you have made a right database or not. Every time when I create a foreign key or push information into the table I used to first check in the rails terminal. In the event that it’s working in the terminal then it is extremely unlikely that it won’t work in the controllers.
One of the significant problem which I didn’t like in ruby on rails is the errors. No less than half of the aggregate time I spent doing the project was managing errors. If you properly know how to build a particular feature you can do It in minutes. But if you are doing it for the first time you are most likely to makes mistakes and some of them are difficult to understand and solve. It usually wasn’t clear what went wrong, and so I’d consult Google and review the last few pieces of code I wrote, but at least I always knew it was me, and never ROR. It was tough initially, but yet gradually I showed signs of improvement in understanding the errors and fixing them.
All in all, I succeeded in building a working prototype in 2 weeks using ROR. Definitely it will boost our development time but my lack of knowledge on ROR slowed me down. I would definitely recommend ROR for my friends because it’s very simple, efficient, easy to understand. It brought up the element of joy to my coding that I had never before experienced with any other language. Obviously at the end of the day it doesn’t matter what language you use. Just start coding and don’t give up.
Here is the like to the repo: https://bitbucket.org/chakri1997/dbs/overview