Learning Ruby on Rails

Guide for Ruby on Rails starters
01 June 2017   5914

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

Ruby and Rails to Get New Updates

Six vulnerabilities in the RubyGems package management system are now fixed and three in Rails framework
14 March 2019   189

There are corrective versions of the Ruby 2.6.2 and 2.5.4 programming language, which eliminate six vulnerabilities in the RubyGems package management system:

  • CVE-2019-8324: the ability to execute code when installing an untested package (an attacker can place the code on the gemspec and this code will be executed via a call to eval to ensure_loadable_spec at the verification stage before installation);
  • CVE-2019-8320: the ability to delete directories through manipulations with symbolic links when unpacking tar files;
  • CVE-2019-8321: the ability to substitute escape sequences through the handler Gem :: UserInteraction # verbose;
  • CVE-2019-8322: the ability to substitute escape sequences through the command "gem owner";
  • CVE-2019-8323: Ability to substitute escape sequences in the API handler (Gem :: GemcutterUtilities # with_response);
  • CVE-2019-8325: The ability to substitute escape sequences through error handlers (Gem :: CommandManager # run calls alert_error without escaping characters).

In addition, an update was provided to the Rails 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2 framework. and 6.0.0.beta3 with the elimination of three vulnerabilities:

  • CVE-2019-5420 - potentially allows you to remotely execute your code on the server, when Rails is running in Development Mode. If there is information about the attacked application, you can predict the automatically generated mode token for developers, knowledge of which allows you to achieve the execution of your code;
  • CVE-2019-5418 is a vulnerability in the Action View that allows you to get the contents of arbitrary files from the server's file system by sending a specially crafted HTTP Accept header if the code in the "render file:" handler is present.
  • CVE-2019-5419 - DoS-vulnerability in Action View (MODULE / COMPONENT), allowing to achieve 100% load on the CPU through manipulations with the contents of the HTTP-header Accept;