Yelp Facebook LinkedIn YouTube Twitter Instagram

Ruby on Rails Bootcamp

Back-End Web Development Course in NYC

Ruby on Rails allows you to quickly build dynamic web applications. It has been the go-to framework for startups like Twitter, GitHub, and Shopify. Mastering Ruby on Rails has two parts: the Ruby Programming language and the Rails framework.

In this 60-hour bootcamp, we’ll cover both Ruby and Ruby on Rails. From the first class, you will build a fully functioning Ruby on Rails web application!

The class assumes you are comfortable with HTML, CSS, and JavaScript. Prior experience with Ruby or Ruby on Rails is not necessary. We can provide you with a Mac for during class, but it is recommended that you bring your own so that you can continue working at home.

  • 60 Hours
  • Mac only
  • Book included
  • Free retake

Register for a class

$2495 Discounts Policies

594 Broadway, NYC or Live Online

What You’ll Learn

  • Object-oriented programming with Ruby
  • Managing versions of your code base and collaborating with other programmers using Git
  • The Model/View/Controller (MVC) paradigm, Active Record, Action View, Action Controller, Action Mailer, and Action Job. 
  • Data modeling and relationships such as belongs_to, has_one, has_many, has_many: through, and polymorphic relationships, as well as delegation and self-joins
  • Working with the Ruby on Rails test suite as well as RSpec
  • Extending Ruby on Rails with additional gems (plugins) from the community
  • Working with various data formats beyond HTML such as JSON, XML, and third-party APIs
  • How to build your own API using Ruby on Rails
  • Deploying web applications to Heroku and storing remote images on Amazon S3
View full syllabus

Ruby on Rails Bootcamp Class Syllabus

What You’ll Learn

Week 1
Scaffolding

Topics

  • Getting Started
  • Generating a Scaffold
  • Adding Content
Adjusting the Templates Created by Scaffolding

Topics

  • Formatting Rails
  • Coding Simple Styles in Rails
  • Coding Title Bar Titles
  • Redirecting the Site Root Page
  • Editing the CSS
  • Adding Basic Security
Ruby Fundamentals: Classes & Objects

Topics

  • Everything in Ruby is an Object
  • Defining a Class
Version Control with Git

Week 2
Ruby Fundamentals: Properties & Variables

Topics

  • Properties of Objects
  • Instance Variables & Local Variables
  • Global Variables
Ruby Fundamentals: Manipulating Variables

Topics

  • Creating Strings in Ruby
  • Simple String Methods: Changing Case
  • Substrings
  • Ranges
  • Comparing Strings
  • Regular Expressions
Ruby: Sanitizing User Input & Control Structures

Topics

  • Sanitizing User Input
  • Integers & Decimals
  • If/Else, Unless, and Case Statements
  • Constants
  • Symbols
Ruby: Collections

Topics

  • Arrays: The Simplest Collections
  • Hashes
  • Enumerators
  • Common Iterators
Week 3
Closures: Blocks, Procs, & Lambdas

Topics

  • Blocks
  • Writing Methods That Work with Blocks
  • Procs vs. Lambdas
Inheritance, Mixins, and Modules

Topics

  • Inheritance
  • Overriding a Parent Class Method
  • Calling a Parent Class Method Using Super
  • Mixins & Modules
Object Introspection

Topics

  • The Class & Superclass Methods
  • The is_a? and respond_to? Methods
Extending Core Ruby Classes

Topics

  • Extending the String Class
  • Adding a New Method to the String Class
Error Handling & Exceptions

Topics

  • Handling Errors
  • Different Types of Errors
  • The Raise Method
Week 4
MVC: Creating a Model, View and Controller

Topics

  • MVC: Model-View-Controller
  • Creating a New Rails Site for Flix
  • Generating a New Model
  • Editing a Migration File
  • Populating a Database with a Seed File
  • Creating a New Controller
Integrating the Front-End Designer’s Code

Topics

  • Incorporating the Designer’s HTML
  • Incorporating the CSS
  • Incorporating the JavaScripts, Images and Fonts
MVC: Controllers & Routing

Topics

  • Resourceful vs. Non-Resourceful Routing
  • Assigning Instance Variables
  • What if the Names Don’t Match?
  • Optional Bonus: Redirects
MVC: Views

Topics

  • Creating a View
  • Adding Dynamic Data
  • Rendering a Partial
  • Optional Bonus: Rendering a View

Week 5
Forms in Rails: Creating the Form

Topics

  • form_tag and form_for
  • Checkboxes, Radio Buttons, and Select Boxes
  • Adding a Drop-Down Menu
  • Adding a Date Selector and Submit Button
Forms in Rails: Processing & Editing Form Data

Topics

  • Making the Form Work: Defining a Create Method
  • Making an Edit Form
  • Optional Bonus: DRYing Up the Code Even More
Model Creation & Management

Topics

  • Generating and Rolling Back a Migration
  • Updating Views and Controllers to Match an Updated Model
  • Viewing the Contents of a Database
Exploring & Validating Models

Topics

  • Exploring Database Contents in Rails Console
  • Adding an Object in Rails Console
  • Editing an Object in Rails Console
  • Adding Basic Validation to a Model
Model Relationships

Topics

  • has_one and belongs_to relationships
  • has_and_belongs_to_many: Simple Many-to-Many Relationships
  • has_many, through: Advanced Many-to-Many Relationships with Additional Metadata
  • Polymorphic Relationships
Other Important Relationships in Rails

Topics

  • Delegates: Sharing Methods Between Related Objects
  • Self-Joins: Relationships Between Instances of the Same Model
Week 6
Introduction to Testing

Topics

  • Fixtures
  • Basic Tests: Assert & Refute
  • Other Assert Methods
  • The Importance of Error Messages
  • Writing Simple Tests Using Fixtures
  • Optional Bonus: Writing Tests Using Embedded Ruby Code
  • Additional Bonus: Helpers
MVC Tests

Topics

  • What to Test
  • Testing a Custom Validation
  • Testing a Model Method
  • Testing a Controller
RSpec and Capybara
Week 7
Gems: Plugins for Ruby

Topics

  • What is a Gem?
  • Gemfile and Gemfile.lock
  • Installing the Devise Gem
  • Adding Sign In & Sign Out Links
  • Adding Basic User Authentication
  • Removing the Ability for Users to Register Themselves
Managing File Uploads

Topics

  • Paperclip Gem
  • Image Processing with Imagemagick
  • Attaching Files to Model Objects
SEO-friendly URLs with FriendlyId
Markdown Rendering with Redcarpet

Week 8
Integrating Third-Party APIs

Topics

  • Parsing Feeds with HTTParty
  • Debugging API Integrations in Rails Console
  • Incorporating External Data into a Rails Site
Outgoing Services

Topics

  • Converting Model Objects to JSON
  • XML Feeds in Rails
  • Exporting CSV Data through Active Admin
Email in Rails

Topics

  • Hassle-free Email Testing with Mailcatcher
  • Creating a Mailer
  • Creating Email Templates (HTML & Text-Only)
  • Sending an Email
Javascript and AJAX in Rails

Topics

  • Turbolinks
  • Embedded Ruby in JavaScript
Project Planning
Week 9
Deploying a Rails App to Heroku & S3

Topics

  • Installing Heroku Toolbelt
  • Remote Asset Storage with Amazon S3
  • Seamless Deployment to Heroku
Project Lab
Week 10
Project Completion and Deployment
Presentation of Class Projects

Learn Real-world Design & Coding Skills

“Noble Desktop is far and away the most efficient way of gaining computer graphics skills. They give real-world exercises to work on, teach best practices, and inspire many an ‘aha!’ moment. Highly recommended.”
Joanne Hu

Students learning graphic design & coding at Noble Desktop

29 Years of Experience

Since 1990 we have perfected the craft of teaching. If students get hung up on an issue, we tweak the class to make it better. We’re the longest running independent training center for code and design in NYC.

Students learning hands-on at Noble Desktop

Register for Ruby on Rails Bootcamp

$2495 Discounts Policies

594 Broadway, NYC or Live Online

Learn more about Ruby on Rails and the Bootcamp

What is Ruby on Rails?

Ruby on Rails is a web application framework that allows you to build modern and reliable applications and websites. It allows you to build everything from meal-kit delivery service to the backend server for an iOS app. 

It accomplishes this by generating all the boilerplate code you won't change, while at the same time making it incredibly simple to modify the parts of your application you intend to customize. This means you'll spend little-to-no time on things like connecting a database or choosing a server, and more time on things that make your app stand out.

Why Should You Learn Ruby on Rails?

Speed of Development

Ruby on Rails allows you to build many different kinds of applications and is celebrated for allowing many companies to quickly get an idea for how their application would work (called a "Minimum Viable Product").

Another one of Rails's strengths is building database-backed applications. If you're the type who doesn't dream in SQL – or you don't even know what SQL is – Rails is a great choice because you can still accomplish effective database-equipped applications thanks to one of its many built-in tools, ActiveRecord. ActiveRecord is like a bilingual translator that knows both Ruby and SQL. It takes your Ruby code and executes database queries on your behalf so you don't have to spend time learning the syntax of SQL while still having the benefits of persistent data.

Works Well with Other Libraries

Of course, this does not mean that Rails is only great for functionality. Because of the maturity of the framework, a lot of popular front-end libraries such as Angular, React, Vue, and jQuery all integrate well with it. This is what makes Rails stand out from other web application frameworks. It allows you to work on both functionality and design while enabling you to choose where you want to specialize. Of course, you can get just about any web framework to function with front-end libraries, but Rails is unique in that its core functionality allows you to set options (called flags) during setup that will build your application the additional files and folders you need based on the library you specify. This takes the guesswork out of connecting your tools which you can devote to – you guessed it – actually building your app!

Development Philosophy

While Rails is great for all the reasons mentioned above, one of the most overlooked benefits of the framework is that it teaches its users how to organize an application in a sensible way. Even if you don't know Rails very well, you probably know where in your code to find whatever it is you need. A "controller" file will be in the "controllers" folder, and a "model" in the "models" folder. And where would you find "views" – things related to what your app's users will actually see? These go in the views folder, of course!

In the Rails community, we call this mode of thinking "Convention over Configuration". We use this thinking because conventions for back-end programming tend to suffice when it comes to application design and they also make it easy for developers to help and collaborate with one another. It's a lot easier to get help when the file that contains the routes to your application is definitely called routes.rb and not whatever someone was feeling like on a Monday morning.

Therefore, even if you don't end up working with Ruby on Rails in your day-to-day, the lessons you learn from it will likely follow you for the rest of your career.

Ruby Reads Like English

Any Rails advocate would be remiss if they did not mention that Ruby (the language Rails is built on) is language well-known for being among the easiest to read and write. The creator of Ruby, Yukihiro Matsumoto, designed the language with developer happiness and productivity in mind. Ruby handles things like memory management and checking what data type a specific piece of information is for you. What does that mean? It means you have to write less code! I'll let the language speak for itself.

Say Hello to the city in Ruby:
puts "Hello New York City!"

And the same thing in Java:
class Main {
    public static void main(String[] args) {
        System.out.println("Hello New York City!")
    }
}

You might be thinking "Well, the Java version really isn't so bad!" If that's you, then there's something you should know: that code won't even run properly because I "forgot" to add a semi-colon at the end of the line that prints the statement. If you add the semi-colon, it works. But spare a moment to imagine how it might feel to spend your time reading through your own code, or having a demonstration go awry simply because you forgot to add that one thing. Because of differences like these, choosing Ruby over other languages often directly results in time saved in both the build phase and in the future when you have to read completed code.

The Ruby on Rails Course at Noble Desktop

Our Ruby on Rails course is 60 hours of learning back-end programming, front-end development, and source code management, all in manageable lessons that will take your HTML, CSS, and JavaScript skills to the next level.

We'll start with a brief introduction to the command line and introduce the fundamentals of the Ruby programming language itself. Once you're comfortable with Ruby, we'll move on to learning commands that are specific to Rails such as how to create a new project and how to streamline your workflow with scaffold generators. This will show you how a back-end programming language can greatly increase your productivity as a developer.

After witnessing the power of programming in web development, we'll revisit some Ruby before taking a dive into Model-View-Controller architecture, where we'll learn how to get information from our application's users, store that information, and control the flow of an application from one screen to another. Finally, we'll cover all the things you'd expect in a modern service such as dynamic web pages, complex HTML forms, and handling files uploaded by your users.

If you're ready to go beyond design and create beautiful and functioning applications with a framework designed to meet deadlines, then this part-time Ruby on Rails course is the one for you!

More Web Design & Development Classes

This Ruby on Rails Bootcamp assumes prior knowledge of HTML, CSS, and JavaScript. Those looking to meet those prerequisites and gain the skills to code the front-end of websites should attend our Full-Stack Web Development Certificate, which includes this Ruby on Rails Bootcamp.

We also offer extensive web development courses to meet the needs of developers, including front-end courses in HTML, CSS, JavaScript, and back-end courses in PHP & MySQL, Python, and WordPress.

Designers should explore our classes and certificate programs in web design which cover laying out webpages, design theory and tools, optimizing images for web, and coding the front-end.