Ruby on Rails Programming
with Mike and Nicole Clark
In this comprehensive online training course you'll learn how to build a complete Rails 4 app step-by-step, from idea to deployment. You'll come away with a solid understanding of the fundamentals of Rails, and how to put all the pieces together, so you can confidently create your first Rails app or jump right into an existing app. Throughout the course you'll also learn key design principles and practices to help you craft robust and flexible Rails apps.
To learn more about this online course, and start your journey to creating Rails apps today, check out the introduction video:
We're right there with you—from start to finish—with engaging instruction, live coding, and practical hands-on exercises. And since this is an online course, you can start taking it immediately, wherever you're comfortable, and work through it at your own pace.
Rails is the framework of choice for many web developers, and their skills are in high demand. Powered by the Ruby programming language, Rails helps you build high-quality web apps quickly. The Pragmatic Studio taught the first-ever Rails course back in November 2005. This online course is the result of many years of teaching web developers, many of whom have gone on to create widely-recognized Rails apps. This course is your ticket to learning how to build Rails apps like the pros!
“Awesome new Rails course from Pragmatic Studio. Top notch stuff!” — Ryan Irelan
“Whether you are new to Ruby or Rails, @pragmaticstudio is the place to learn Ruby and Rails, period!” — Alex Jolovic
Learn Rails in this online, self-paced course!
$199 per student, $149 for alumni (25% off)
Watch, Read, Practice... Learn! This online multi-media course helps you learn Rails in a variety of ways:
36 Videos: HD-Quality and DRM-free
Your time is valuable, so in each video we get right to the point and focus on a particular aspect of Rails. The videos are a combination of personal instruction, live-coding, and over 70 animated visuals to deepen your understanding of Rails. You'll see exactly how we build a Rails app incrementally, from start to finish. You can stop, rewind, and rewatch each video as often as you like and at your own pace.
The total duration is a little over 6 hours, but each video is only 10-20 minutes so you can work through the course in small increments. Watch the videos in the browser for an integrated learning experience, or download them for offline viewing. (The videos also look great on an iPad or iPhone!) All the videos are licensed for individual use, DRM-free, and available in full 1280x720 HD resolution. Watch them when and where it's convenient for you!
To get a feel for the video format, check out the free video module.
In addition to the videos, you get access to an online companion workbook that leads you through incrementally designing and creating a complete Rails app step-by-step from scratch. The workbook isn't an afterthought—it's a core part of the course. To really learn Rails, you need to practice writing Rails code. So, we designed the workbook to go hand-in-hand with the videos.
Each video has a corresponding chapter in the workbook. This is your opportunity to practice what you learned in the video by writing, reading, and refactoring Rails code. Each chapter builds on the previous, with a high-level objective you can work through on your own, and step-by-step instructions to guide you through to a solution. You'll complete the exercises directly on your own computer—the same familiar environment where you'll actually write your own Rails app.
In the end you'll have created a full-featured Rails app similar to the app we create in the videos. Along the way there are explanations, hints, discussions on design principles, tips and tricks, recommended resources, and of course all the solutions (with tests!).
To get a feel for the workbook format, check out the example workbook chapter.
Example Code and Solutions
It's been our experience that developers don't want the practice code in the workbook to be exactly like the example code we write in the videos. So instead, in the workbook exercises you'll build a different, yet similiar, app to the one we build in the videos. That not only makes it more fun for you, but also engages your brain more as you think through how to apply what you learned in a slightly different context. As an added bonus, at the end of the course you can draw from the code of two full-featured Rails apps!
Rails uses a variety of conventions and shortcuts to make a developer's life a bit sweeter and speed up development time. But when you're learning Rails, it's easy to get lost in all the twists and turns. So for easy reference, we provide a set of PDF cheat sheets for commonly used conventions, commands, and shortcuts.
Have questions during the course? No problem! You'll get access to a mailing list exclusively for participants of this course. We're there to help answer questions so you never get bogged down. Participating on the mailing list is also a great way to share insights and discuss Rails topics with other folks taking the course. In fact, students of our courses have said the alumni mailing lists are some of the best resources on the web.
Your access to this course never expires. You can revisit the course whenever you want. It's the perfect environment for learning at your own pace, on your own time.
Proof of Completion
Showcase your achievement in learning Rails! When you're done, share the link to your alumni page to show off your accomplishment.
Discounts on Future Courses
By purchasing this course you become a Pragmatic Studio Alumni which entitles you to the discounted alumni price on all future courses.
“The exercises are great and the video lectures are very effective. It's just about like going to a live instructor-led class.” — Greg Fisher
Unlimited access to videos, exercises, and more!
$199 per student, $149 for alumni (25% off)
Who's It For?
New Rails Programmers who want to learn or become more confident with Rails. This course is a good fit for you if you are...
Getting started with Rails
Perhaps you've been intrigued by Rails, but haven't yet had the opportunity to learn it comprehensively from scratch. It all starts here! You'll learn the fundamentals of developing web apps with Rails so you're ready to create your first Rails app or jump right into an existing app.
If you're new to the Ruby programming language or new to object-oriented programming in general, we strongly recommend taking our online Ruby Programming course prior to this course.
Struggling to put all the pieces of Rails together
Rails is a structured framework that relies on conventions to optimize development time and minimize the amount of code you have to write. This makes developing web apps a bit easier... once you understand how everything fits together. Through live coding, animated visuals, and hands-on exercises, you'll learn how to build a complete web app so you're more confident (and less frustrated) writing your own Rails code.
Curious about how to develop Rails apps using a test-first approach
This course starts by introducing the basics of every Rails app: models, views, controllers, and routes. With that foundation in place, we then build the app using a test-first development approach with RSpec and Capybara. If your goal is to write high-quality Rails apps that you can change with confidence (and we think that's a very worthy and achievable goal!), then learning good testing techniques is key. We'll show you how to incrementally build a Rails app start-to-finish the test-first way.
In need of a refresh or a reload!
If you started learning Rails a while back but haven't used it in earnest, this course will help you quickly get back up to speed with the latest version of Rails and current development techniques!
What Will I Learn?
How to create high-quality Rails apps from scratch. This course takes a very practical, step-by-step approach, teaching you how to design and incrementally build a complete database-driven web app using Rails 4. Topics include:
Rails Programming Environment
Setting up your working environment and learning how to use it effectively is the first step toward becoming a productive Rails developer. We'll show you how to:
- Install Ruby on Rails on your favorite operating system
- Edit Rails code using the Sublime Text editor
- Use the Rails console and supporting command-line tools effectively
- Search Rails documentation
- Use external RubyGems in your application
- Troubleshoot problems and understand common error messages
The router is the central dispatch of your application. It receives incoming requests (URLs) and, depending on a set of rules, dispatches the requests to an appropriate controller action. You'll learn how to:
- Define routes that recognize incoming URLs
- Use named route methods to generate URLs based on the routing scheme
- Apply and understand the RESTful routing conventions
- Design apps to take advantage of the REST conventions in Rails
Views and Controllers
Rails has some strong opinions about how web apps should be designed. You've probably heard about the MVC design in the abstract, but we'll break it down in practice so you understand where to put your code and the benefits of a decoupled design. You'll learn how to:
- Write controller actions to handle incoming requests and render views (or redirect to other actions)
- Design clean and flexible HTML 5 views using layouts, partials, and helpers
- Write custom view helpers to encapsulate presentation logic
- Remove duplication using before actions
Models and Database Design
Well-designed models are the foundation of any good Rails app. In the simplest form, a model is a Ruby class that encapsulates your application's business logic. But a model also often represents an entity stored in your database. Active Record is the object-relational mapping library that Rails uses to connect your business objects (models) to your database tables. You'll learn how to:
- Manage your database schema with migrations
- Use models to create, read (query), update, and delete records in your database
- Use validations to enforce data integrity
- Design models for better reuse and testability
Test-First Development Using RSpec and Capybara
Both the Ruby and Rails communities place a high value on testing, and it's for good reason. Writing effective tests allows you to make changes and add new features with confidence. As a result, you're a more productive Rails developer. Throughout the course, you'll learn how to:
- Use a test-first development approach to confidently add new features
- Write and run high-level feature specs using RSpec 2 and Capybara
- Test lower-level business logic by writing model specs using RSpec
- Refactor your application code, safely!
Want to accept user input and store it in a database? Rails has a whole bunch of conventions to help you create robust and friendly forms. We'll unveil the "magic" and show you how to:
- Design a form for creating and editing data
- Validate form data and provide actionable feedback to the user
- Store submitted form data in a database and dynamically display the data
- Avoid common security pitfalls
CSS and Sass Basics
As a web developer, it's important to understand the basics of web design whether you aim to do it all yourself or plan to work hand-in-hand with a web designer. You'll learn how to:
- Decouple your presentation (style) from the content using CSS stylesheets
- Keep your stylesheets tidy and flexible using Sass extensions including variables, nested rules, and functions
- Effectively use what Rails calls the asset pipeline
One of the most powerful features of Rails is the ability to create relationships between different models and represent those relationships in a database. For example, if you're developing a movie review app then you'll need to associate each review with a particular movie. To do that properly, it's important to not only understand the Rails conventions but also what goes on behind the scenes. You'll learn how to:
- Design a one-to-many relationship in the database using foreign keys
- Declare associations in the models and use them to create associated records and navigate across the one-to-many relationship
- Use nested resources to design a user interface for a one-to-many relationship
- Encapsulate business logic that emerges once you have rich associations between models
Putting your Rails app into production shouldn't cause fear and trembling. Deploying Rails apps has gotten a lot easier over the years thanks in large part to cloud services such as Heroku. We'll show you how to deploy your Rails app for the first time, and incrementally push out updates. You'll learn how to:
- Set up a (free) Heroku account
- Put your application code in a Git repository
- Deploy your app to your Heroku account
- Run remote Heroku commands such as to migrate your production database
- Upload image files and store them on Amazon S3
- Roll out updates to your app with ease!
Rails Best Practices
Standing up a Rails app that just works isn't the same as designing a good Rails app. Mastering Rails—writing compact, readable, and flexible code—starts by learning the conventions, practices, and idioms fostered by the Rails community. So, in addition to learning the ins and outs Rails, we'll take you a step further. You'll learn:
- An iterative (agile) development style that easily adapts to changing requirements
- Design techniques for removing duplication, encapsulating business logic, and properly aligning responsibilities
- And a bunch of practical tips and tricks used by the pros to get the most out of Rails!
“Where this course really wins over others is that, on completion, I had more than just a 'rote knowledge' of the Rails framework. I had enough understanding to go out and develop my own app from scratch, and be proud of the result!” — Brian Wherry
What Do I Need?
A Computer and a 'Net Connection. Yes, it really is that easy to take this course. No airline tickets, hotel reservations, or scheduling conflicts. Instead, you'll simply need your favorite coffee mug, comfy slippers, and the following additional necessities of any good programmer:
Mac, Windows, or Linux Computer
Rails runs great in all these environments, so any computer you're comfortable using will do. We'll help you get everything installed on your system so you'll learn in the same environment where you'll actually write your own Rails apps.
Up-to-date Web Browser
We designed the online experience to take advantage of some of the latest web standards, so you'll need the latest version of Safari, Chrome, Firefox, or IE 8 (or higher).
The videos in this course can be watched either in your browser (in which case you'll need a reasonably fast 'net connection) or you can download them to your computer and watch them offline. The workbook and exercises are only available online.
Who Teaches This Course?
Mike and Nicole Clark run The Pragmatic Studio, an acclaimed source of software developer training. Over the last seven years, we've helped over 2,500 developers improve their craft through public, private, and (now) online courses. In this course, we hope to help more folks in their pursuit to build web apps for their company, club or organization, or hobby turned exciting new venture.
What's an Online Course Like?
Watch an Entire Module. To get a feel for the video format, check out this 12-minute sample. At this point in the course we can manage event resources in the user interface, and we're ready to create a second (nested) registration resource.
Check Out the Workbook. Each video has a corresponding chapter in the online workbook to help you practice what you learned in the video. Each chapter includes an overall objective, detailed explanations, step-by-step instructions, hints, and solutions. Here's a peek at the workbook chapter for the nested resources video:
It's a great time to learn Rails 4, so get started today!
$199 per student, $149 for alumni (25% off)