When To Use Ruby On Rails

Revelry Labs

Unleashing Human Potential with Technology

Ruby on Rails runs on Ruby, which is an open source language that has been around since the 1990s.

What is Ruby?

One of the main objectives with Ruby was creating an abstraction between the actual machinery behind the code and the developers writing it. Ruby reads very much like a human language and the build-in methods often self-document. It’s an interpreted programming language, capable of giving instructions to browsers, apps, servers, and software in general. While it might not be as fast as something like Elixir or Python, it is still a great candidate for building scalable applications.

What is Ruby on Rails?

Ruby on Rails is the main Ruby use-case. It’s an open-source framework for web apps, featuring straightforward routing, your typical MVC(Model View Controller) and a robust set of debugging tools. Their documentation is extensive

Ruby on Rails also boasts a massive open-source community. Chances are, if you want to build a complex component or set of tools there’s a library already available to you.

Useful Ruby on Rails Tools

There’s “Byebug”, which acts as a breakpoint for you to pry into a scope during runtime, allowing you to test new solutions and verify your code is behaving as expected.

“ActiveRecord” helps you interact with your database through your models as if you were speaking with it in a human language. Want the first item in a table? Table.first will fetch that for you. Want to execute an actual SQL query to list out popular comments? And include interpolation? Comment.where(“COUNT(likes) > #{LIKE_POPULARITY_NUMBER}”). 

Want to store files in an S3 bucket, but avoid wasting time with configuration and building your own layers of abstraction for interacting with an API? You can use the “aws-sdk-s3” gem, add your AWS credentials to your “storage.yml” file and hit the road running. When you attach files to a model, an association between your S3-stored folder and your record will be made, saving you a bunch of time. You don’t even need to write a migration!

Want to inject JavaScript components? There are many ways to set these up, my favorites being using js.erb templates which render ruby templates and partials, or the JSON API along with serializers to send model data to your front-end components with ease. ERB(Embedded Ruby) files allow you to execute regular JS as well as Ruby directly in a template.

Ever lost, or just want a quick tour of an app you’re working on? Visit localhost:<your app’s port>/<a route you know doesn’t exist>, or run ‘rake routes’ and you’ll get a whole list of all the possible routes, accompanied by an automatically generated list of the keywords for paths. Rails offers many keywords to both facilitate readability and maintain conciseness.

These are just a few helpful, easy-to-use tools that I recommend but overall Ruby on Rails is incredibly feature-rich.

Ruby on Rails and Heroku

Finally, Heroku was initially designed to deploy Rails projects. This means that it offers a ton of support, including add-ons, additional resources and build-packs that remove what can be difficult or time consuming steps of the deployment process.

With Ruby on Rails, it’s easy to learn, it’s easy to stay organized, it’s easy to write self-documenting code and while it may not be the fastest choice, developers have an incredible arsenal of tools at their disposal to both speed up the development process and increase scalability. And as a bonus, it’s especially easy to deploy your Ruby on Rails app with Heroku!