Want more GoRails?

GoRails is packed full with 715 lessons just like this one.

Sign up to get full access or log in to your account and sit back.

Routing Constraints with Rails Authentication Generator

October 14, 2024

Track your progress

Sign in to track your progress and access subscription-only lessons.

Log In

Your Teacher

Hi, I'm Chris. I'm the creator of GoRails, Hatchbox.io and Jumpstart. I spend my time creating tutorials and tools to help Ruby on Rails developers build apps better and faster.

About This Episode

Devise has a couple handy routing helpers to constrain routes for authenticated users. In this lesson, we'll learn how to do this from scratch by adding routing constraints Rails' built-in authentication generator

Notes

module Authentication
  extend ActiveSupport::Concern

  # Routing constraints
  Authenticated = ->(request) { Current.session ||= Session.find_by(id: request.cookie_jar.signed[:session_id]) }
  Admin = ->(request) { Authenticated.call(request) && Current.user&.admin? }
  # ...
end

Want to stay up-to-date with Ruby on Rails?

Join 86,140+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.