Ruby on Rails: Level II

Advance to the next level of Ruby on Rails by learning advanced design techniques, tips, and tricks using Rails 5.

Rails 5

Take your Rails app and skills to
the next level!

You'll learn how to design some of the more advanced Rails features
you've seen in sophisticated apps including user accounts,
authentication and authorization, many-to-many and through associations,
custom routes, and other pro-level design facets using Rails 5.

“This is the best Rails training hands-down! I've worked
through several Rails courses and they don't even come close to
explaining things as well as you do.”
Thomas Neal

“These 2 courses are far and away the best value-for-money Rails courses out there. If I could pick only one beginner and one advanced Rails resource to learn from, it would be your courses. I know after completing your Rails I and II courses that I can build pretty much whatever I want in Rails.”
Jonathan Mundy

Learn the Pragmatic Way

Dive deep into aspects common across most full-featured Rails
apps. In this course we follow a step-by-step, project-based approach
as we look in-depth at the following areas:

Manage Users
Whether you choose to build your own user account management system or use
a gem, it's critical to know how everything fits together. Managing your
users' accounts isn't an area of your app that should be a black box. By
learning how to design a solid user model and web interface from scratch,
you'll be in a better position to adapt, customize, leverage, and
troubleshoot either your own code or a third-party gem. We'll start off by
looking at how to:

Design a solid user model

Securely store passwords with the bcrypt gem

Declare reasonable validations in the User model

Create new user accounts with a sign-up form

Display users' profile pages

Allow a user to edit or delete their account

Authentication & Session Management
You sign in
and out of web apps every day. It's so routine that it's easy to take
account management features for granted. But the reality is there's a lot
going on behind the scenes. Implementing account management properly in an
app requires a solid understanding of sessions, cookies, filters, security
concerns, and Rails conventions for authentication and authorization. We'll
break it all down and look in-depth at how to:

Add routes for a singular session resource

Design a SessionsController to manage the session resource

Create a sign-in form using form helpers

Sign in (authenticate) users and remember them with sessions

Automatically sign in a user when they create an account

Sign out users

Authorization & Admin Users
Exactly who gets to
take certain actions and do certain things in your app? What can signed-in
users do? What can't they do? What can admin users do? Authorization rules
tend to vary widely depending on the nature of a specific application. The
good news is once you understand the basic technique, you can easily design
an authorization system that works for your custom needs. You'll learn how
to:

Use before_action filters to restrict access to specific actions

Restrict access based on signed-in status

Redirect a user back to his intended URL after he has signed in

Hide unauthorized features

Allow special "admin" users to perform admin-only tasks

Many-to-Many & Through Associations
Rails has powerful conventions to help
you manage many-to-many associations, but the conventions alone only take you so far. It's up to you to model the
associations with the full stack in mind: from the database tables all the
way through to the user interface. By way of six distinct examples (three in the videos and three in the exercises), you'll learn how to:

Design a rich many-to-many association that connects a user to their movie reviews using a join model and a form

Model a many-to-many association that lets a user "fave" multiple movies with a button

Create a through association for assigning multiple genres to a movie using checkboxes

Improve the performance of database queries

Name associations to better express your domain

Custom Routes
URLs are the user interface of the web. We tweet and email them. We bookmark
pages we want to return to later. We use embedded links to connect across
web apps. As part of your app's user interface, it's critical that your URLs
are both expressive and friendly. The default resource URLs are a good
start, but the Rails router gives us a lot of flexibility when it comes to
customizing URLs. And well-designed URLs might also end up driving more
search traffic to your site! You'll learn how to:

Generate friendly URLs for better SEO, bookmarking, and curb appeal

Customize routes to handle scenarios beyond the basic resource routes

Use route parameters and constraints

Best Practices, Tricks, and Techniques
As always, throughout the course you'll pick up tips, tricks, and other pro-level
techniques to cut down development time and get the most out of Rails!

On average, students complete this course in roughly
16 hours which includes watching the videos and doing
all the exercises in the workbook.
Download the 20-Day Course Plan and we'll walk
you through the course in short sessions day-by-day!

For Beginner To Intermediate Rails Developers

If you took our popular Rails Level I course,
or you're already comfortable with the topics taught in that course,
then you're ready to take your skills up a
notch in this follow-on course.

We aim for 100% satisfied developers, so if this course turns out not to be a good
fit for you, we'll gladly issue you a 100% refund.

Also On This Path...

Meet Mike & Nicole

Hey, there! Mike here.
I helped build and launch one of the first production Rails apps way back in 2005. I've built countless Rails apps since then, and I continue to develop the Rails
apps that power our online business. I co-taught the first official Rails course
in 2006 and have had the pleasure of teaching Rails to
thousands of developers since then. I'm also
the author of Advanced Rails
Recipes, co-author of Agile Web Development with
Rails, and author of Pragmatic
Project Automation.

Together Nicole and I own and run The Pragmatic Studio. We'd love to have you
join us in the Studio for this great course!
Learn more about us…

Become more confident with advanced Rails techniques!

“The Rails I and II courses have been so incredibly
helpful! I've learned a lot. The videos on every topic were
information packed with wonderful details. I was super pleased with the
in-depth explanations and illustrations for model relationships,
particularly many-to-many. I knew the Rails II course would be as great as
the first, and I was not disappointed. In fact, it's better than I
expected!”
Dana Nourie

“I highly recommend Pragmatic Studio's Rails Programming courses!
The exercises allow you to build something more complex than a blog and do
so by applying what was learned in the lessons
rather than merely following along! This format really drove things
home for me.”
Bart Falzarano

“I've taken other Rails tutorials but yours really
filled in
the gaps in my understandings!”
John Weir

“Thanks to everything I learned with you, I am about to land a new job in which I will be programming in
Ruby on Rails. Thank you very much for that!”
Miriam Tocino

“This course along with your Ruby Programming and Rails I course
offers the best introduction to learning Rails for
a beginning developer. I cannot think of any book or video series
that does as good a job.”
Eric Ricketts

“Everything is great: the material, the teachers, the simple,
concise, yet clear explanations in all the courses. I think these are the best Ruby and Rails online courses for
people that want to jump into Rails. All of the courses are worth
every penny!”
Alfian Losari

“I learned a ton in this course that I didn't learn from other
sources online. I was immediately able to start putting together an
application that has been stuck in my head for a long time.”
Wassim Metallaoui

“The main difference I have found after taking a lot of other Rails
courses is that you explain things in greater
detail which has helped me understand the 'whys'.”
David Theroff

The Pragmatic Studio is where developers have come since 2005 to learn, practice, and improve their craft. In our acclaimed courses, you get the most up-to-date and approachable developer training around!
Learn more…