Learning Ruby on Rails

Guide for Ruby on Rails starters
01 June 2017   4892

Reasons to Master Ruby on Rails

Key to success for every coder is constant learning and self-growth. The more technologies developer knows, the more he is in demand. Ruby on Rails (aka RoR) is one of the most powerful ways for quick web developing. RoR coders has a high relevance level and demand in today’s marketplace. Thousands of companies built their products using Ruby on Rails. Developing with Rails is also a great opportunity to use into practice all the skills you’ve learned so far - from basic HTML to object-oriented programming. 

Ruby

A dynamic, open source programming language with a focus on simplicity and productivity
 

Ruby on Rails

A framework written in the Ruby programming language

Ruby on Rails has a lot of advantages for a developer, such as:

  • development speed; 
  • good culture and clear standards;
  • interesting technical solutions: testing, caching, localization, validation, security and much more.

For additional info, check our article about pros of RoR.

Generally, Ruby on Rails is not a beginner’s choice. Average age of RoR coder is 25-28 years. Many guys came to Ruby from PHP. To start learning Ruby, you will have to be skilled in web programming and general software engineering. But this is also a plus for a Ruby coder. Every Ruby specialist is always in demand, known as skilled programmer and there is now such term as «bad Ruby coder».

Workspace Preparation

If you've decided to learn Rails, you need to install it on your machine. There are many ways to do this, depending on your platform. If you’re on a Mac or a Linux-based computer, we recommend you to use RVM. It’s a good tool to install Ruby. You can have instructions in this article. If you’re on Windows, you can use RubyInstaller for Windows.

Next, you need to install Rails. You have to install RubyGems on your computer. But if you've used RVM to install Ruby, congratulations, you already have it! 

For comfy work you gonna need to use interactive development environment also known as IDE. There are a lot of different IDE, both free and not. Every programmer chooses an IDE by himself.  Some of them are just extended text editors, some are big applications, that can make cloud calculations and have a lot of valuable built in features, like auto-completion, error and syntax highlighting, Ruby debugger. More info here can be found in our article

Ruby on Rails Courses 

There are hundreds of RoR courses on the web. We've monitored them for you and here is our list.

RubyMonk

RubyMonk interfaceRubyMonk interface

Language: English

Price: free

List of interactive Ruby courses for programmer of any skill level. Has a sorting by skill level and pleasant design. Supports «in-browser» coding, big amount of examples.

CodeSchool

CodeSchool interfaceCodeSchool interface

Language: English

Price: 29$ or 19$ for month subscription; free lessons available

CodeSchool is big online courses base. It has 10 online Ruby courses, 2 of them for free. They are interactive and interesting made. First 3 will fit for a beginner. One of the funniest courses on the web, zombies and foxes included. Month subscription for a website will cost 29$, and 19$ per month if you will buy it for a year ahead. CodeSchool also has courses for other popular programming languages.

RailsCasts

RailsCasts interfaceRailsCasts interface

Language: English

Price: 9$ month subscription; free lessons available

Big base of screencast episodes (over 400), dedicated to Ruby. Some find this type of material very comfy for them. Most of episodes need 9$ per month subscription. Targeted on middle developer, but juniors and seniors will find interesting information too. Also it has a text version of episodes. Produced by Ryan Bates

GoRails

GoRails interfaceGoRails interface

Language: English

Price: 19$ for months subscription, special offers for a team (from 95$ to 475$, depends on number of developers)

This screencast course that was started to teach web development and solve problems behind it. Handy navigation, a lot of information on "tricky" sides of RoR development. 

Thinknetica

Thinknetica landing pageThinknetica landing page

Language: Russian

Price: from 25500 rubles (450$) for «light» course to 59900 (920$) for full course

Long, intensive and expensive course with a lot of features such as: personal mentor, guarantee of job offer, comfortable schedule, certification and other. Big amount of good feedbacks on the web. Full course will take 6 months and «light» for 3 month. After the finish, you will have a true project for your portfolio and solid knowledges. 

CodenameCRUD

CodenameCRUD landing pageCodenameCRUD landing page

Language: Russian

Price: Free

This is a free resource offering a full-fledged training course, allowing to gain knowledge and experience, which will be enough for to work as a web developer. The project is not original, texts are translated from Odin Project (the author of this project has received the consent). Ruby and Rails are only the part of this course, but it is still a good knowledge base for russian speaking Ruby enthusiast.

GoodProgrammer

GoodProgrammer landing pageGoodProgrammer landing page

Language: Russian

Price: from 2400 to 6700 rubles ( 45-120$ ); free version available too

Using Ruby language as example, course will teach the universal principles of programming.The goal of the course is to develop practical skills in full beginner, understanding the principles of programming operation and the essence of the programmer's profession. 

Certification

Ruby\Rails certification might be needed for a beginner to show his skills. A lot of mentioned courses gave a certificate after the end. You can have more info here.

Tutorials

Information database is also needed for a Ruby starter. In this article, we’ve collected useful links and «desk-books» for a Ruby developer.

Which course did you liked the most?

Ruby on Rails is one of the most powerful ways for quick web developing. Thousands of companies built their products using Ruby on Rails. Developing with Rails is also a great opportunity to use into practice all the skills you’ve learned so far - from basic HTML to object-oriented programming. We have collected the best Ruby on Rails cources for every coders of any skill level. Please, share your opinion of the best Ruby on Rails learning course.

Thinknetica
33% (2 votes)
CodeSchool
33% (2 votes)
GoodProgrammer
17% (1 vote)
RailsCasts
17% (1 vote)
RubyMonk
0% (0 votes)
GoRails
0% (0 votes)
CodenameCRUD
0% (0 votes)
Total votes: 6

RubyMine 2018.2 to be Released

Great news for Ruby developers - new version of popular IDE available now
27 July 2018   196

Major summer update of the integrated development environment RubyMine from JetBrains under the number 2018.2 released. Among the innovations - improving the work with the code, support for new version managers, re-testing only for failed tests and much more.

Code analysis

The new version of IDE has received an improved type inference that allows to better read the types of elements in blocks, arrays and hashes. This feature improves code autocompletion and navigation throughout the project:

Element CompletionElement Completion

In addition, RubyMine now correctly recognizes models using polymorphic associations, and offers them full support for "smart" functions.

Version Managers

The updated development environment now supports chruby and asdf. Moreover, now all version managers are available in WSL, Docker, SSH and other remote connections.

Testing

RubyMine 2018.2 allows you to retest only those tests that have not been tested. According to the developers, this frees the user from manually viewing each failed check. The new function also works with the rake test and rake spec presets:

Rerun Failed Tests
Rerun Failed Tests

YAML

In this update, developers paid attention to the YAML data serialization format. Now its code can be formatted directly in the IDE and use all the functions of autocomplete and navigation by code. Moreover, the new version of RubyMine provides automatic filling of YAML data structures that have JSON Schema files, and the ability to copy / paste the key path to the value in .yml files.

Git

Support for version control in RubyMine 2018.2 has received several new features:

  • files with a merge conflict are now grouped in a separate node;
  • a new action Browse Repository at Revision allows you to examine the state of the repository after each revision;
  • It was possible to skip the Push action during the Commit and Push command or use it only for protected branches;
  • you can connect an unlimited number of accounts to GitHub and select the main one for each project.

Other improvements

In addition to general performance improvements, the new version of IDE brought new icons, a dark theme for MacOS, support for the Touch Bar, improved support for JS, TypeScript and CoffeeScript, which you can see in the overview of the WebStorm 2018.2 IDE update, and connect the debugger to remote processes without having to reboot .