Common Mistakes In Rails Development

Ruby On Rails, nowadays, has become the most commonly used development framework across the globe. Its open-source behavior helps in easy development of an efficient server side application. Its properties like DRY(Do Not Repeat Your) code, convention over configurations leads to the development of an application that saves money, time, helps building active community and gives output with high performances. But beyond all these, there are some very common mistakes that are knowingly or unknowingly made with rails application development.

Extra Logics and code

Controller =>

Based on MVC architecture, controller of the app should be skinny and that should include codes only based on: session and cookies handling, management of requested parameter, redirecting/rendering of views files and proper selection of model. Other than these codes, the written controller is worthless and leads to an increase of application load time.


Models in MVC architecture are present for maintaining the complete business logic of the application. The only code logic that should be present in models must include: active record relations like has_one, has_many, belongs_to etc, validations to any attributes along with custom validations; then comes some sophisticated database queries, access specifiers, and some simple methods for encapsulating the database attributes.

View =>

View of the application should consist of the HTML parts with all of its tags. The worst practice is writing database queries in view files that consume lots of page load time. The best practice that needs to be made while creating view files is to create more number of partials so as to get rid of views duplication and one that looks short and sweet while reading the view code logic.

Correct Rails Application

While generating the Rails application, one major thing needs that is to be kept in mind is what type of application we are willing to create. It can be simple rails app, a rails API, rails services, rails application with what kind of databases, RDBMS or Mongo and many more. For rails API, some specifications should be:

rails new [app_name] –api

Application with specific database:

rails new [app_name] -d mysql

These practices help start ups in getting applications with clear base easily. If these are changed at the mid level of application, then it affects both process time and code quality.

Use of Instance Variables

Often professional developers or the beginners use instance variables in the methods where it is not required. There are many issues with the instance variables; for example: we usually do not get the error messages so as to find from where the error is arising. This consumes more app space as compared to local variables. One should use instance variables only when it needs to be displayed on view part.

Proper Database Schema

Rails supports the property of Active record migrations for managing schema rather than by raw SQL queries. While generating migration files, default attributes are saved into it and that is timestamps; this lets one know which files should run first. For updating any already created migrations, the best practice says to generate a new migration with reference of existing, rather than updating the existing migration. Even the change of a space in old migration may stop it from running. Another practice says: if old migrations are not deployed to the live server and those are on local system, then one can run the rollback command, make the necessary changes and again run migration for better results.

Secured Configurations Files

Many rails applications require extra services to be added with it like Facebook, AWS, Google and many more. For this, one has to create a developer’s account that provides some secure keys and token. It is highly crucial to keep it safe as they are application specific. For these tokens in Rails application, there is a separate file to be maintained and has to be secured from the intruders. For saving these, they do not have to be committed in the version controls. If leaked, then such private configurations get difficult to find and solving the problem isn’t an easy process.


There are various parameters set for Ruby on Rails application development. These parameters have to be kept in mind for getting into the proper application flow and avail the maximum benefits of all the features that are provided by rails framework. These mistakes need to be avoided with the application development to get rid of productivity issues that is not advisable for the organizations.