Ruby on Rails Bootcamp

Back-End Web Development Course in NYC

In a booming tech industry, having the skills to handle both design and functionality is what makes a developer stand out.

In this 60-hour back-end intensive, you'll take your knowledge of web technologies like HTML and CSS even further by quickly creating beautiful apps that actually work. From displaying pop-up messages to storing data in a database, you'll learn to handle the creation of software from start to finish, including how to launch your application live on the web for anyone to use.

The first part of the course teaches you how to leverage the power and speed of Ruby on Rails, and you’ll quickly see why big companies like Shopify, Groupon, Twitter, and Github use it to build their services. You’ll then learn the fundamentals of programming using the Ruby language without Rails to solidify your understanding of how the back-end of software works.

The final sessions of the class will be focused on mastering Model-View-Controller architecture so that you can decide for yourself whether you want to specialize in creating complex backend systems, or designing professional applications that simply work.

While experience with Ruby on Rails is not necessary for this course, it is recommended that you have at least some exposure to HTML, CSS, and JavaScript. We can provide you with a computer during class, but it is preferred that you bring your own so that you can continue working at home.

This Ruby on Rails bootcamp is held at our coding school in SoHo, located at 594 Broadway, New York, NY.

  • icon for small classesSmall classes
  • icon for small classesComputer provided
  • icon for small classesBook included
  • icon for small classesFree retake

Register for a Class 

$2495 60 Hours Mac provided 594 Broadway, NYC In-person classroom training

This course is offered at our design school, Noble Desktop, in SoHo. View upcoming dates and register for this course directly on Noble Desktop’s website.

Register at nobledesktop.com 

What You'll Learn

  • How to create an application that really works
  • How to set up and work with a database
  • How to store and retrieve information submitted by users
  • Use Model-View-Controller (MVC) architecture to keep code organized
  • Principles of Software Engineering such as Convention over Configuration (CoC) and Don't Repeat Yourself (DRY)
  • Make different screens based on a user's login status
  • Use programming languages to reduce the amount of code you have to write
  • Deploying an application live to the web

Full Course Syllabus

Download PDF Outline

Introduction to Ruby on Rails

Scaffolding

  • The Scaffold command
  • Overview of Models, Views, and Controllers (MVC)

Adjusting the Templates Created by Scaffolding

  • Formatting in Rails
  • Working with Dynamic web pages
  • Editing the text in the tab
  • Redirecting the homepage URL
  • Editing the CSS

Version Control with Git

  • Initializing a repository
  • Commiting and Pushing changes
  • Creating, switching, and deleting branches
  • Merging branches

Ruby Fundamentals

Ruby Data Types & Variables

  • String, Integer, Float, Boolean and Nil values
  • Properties of Ruby data types
  • Instance variables & Local variables
  • Global variables

Functions & Control Flow

  • Built-in functions
  • Creating your own functions
  • Passing arguments and returning values
  • If/Else and Unless Statements
  • While/Until Loops

Ruby Data Structures

  • Arrays: The Simplest Collections
  • Hashes
  • Enumerators
  • Common Iterators

Classes

  • Creating classes
  • Inheritance
  • Class Methods
  • Overriding Methods

Controllers and Views

Generating a Controller

  • Creating a New Rails Site for Flix
  • How Controller methods relate to views
  • Private methods
  • The params hash

Views

  • Generating and creating Views
  • When you don't need a View
  • Mapping Views to controller actions and routes
  • Dynamic Views
  • The rails routes command

Models & Forms

Models

  • Generating a Model
  • How Migration Files work
  • Migratiing the Database
  • Rolling back a migration

Rails Forms

  • Rails forms vs HTML forms
  • HTTP Overview
  • Rails Form Helpers
  • Rails forms: form_for, form_tag, and form_with
  • Connecting a form to a Model

Uploading Files

  • Installing ActiveStorage
  • Allowing users to upload images

Views

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

Advanced Models

Model Validations

  • The purpose of validations
  • Adding basic validations
  • Preventing submission of empty forms
  • Customizing validations
  • Adding Error Messages

Model Methods

  • Built-in Model methods
  • Adding methods to models

Model Relationships

  • 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

  • Delegates: Sharing Methods Between Related Objects
  • Self-Joins: Relationships Between Instances of the Same Model

ActiveRecord Associations

Model Relationships

  • Has_one and belongs_to relationships
  • Has_many relationships
  • Joining models together via the controller
  • Writing Simple Tests Using Fixtures
  • Optional Bonus: Writing Tests Using Embedded Ruby Code
  • Additional Bonus: Helpers

Integrating Front-end Code

Rails Asset Pipeline

  • What the Asset Pipeline does
  • Adding CSS
  • Adding JavaScript
  • Conditional CSS and JavaScript files

Launching an Application

Preparation

  • Managing Ruby environments
  • Locking Gem versions
  • Environment variables

Amazon Web Services

  • Setting up an AWS account
  • Where to store credentials
  • Remote Asset Storage with Amazon S3

Heroku

  • Heroku Account Setup
  • Installing Heroku Toolbelt
  • How Heroku works
  • Types of Dynos
  • Deploying your application