Skip to Content
Clerk logo

Clerk Docs

Ctrl + K
Go to clerkstage.dev

Handling requests with Rack and Rails

The Clerk Ruby SDK comes with Rack middleware to lazily load the Clerk session and user. If added as a gem to Rails application, the Clerk::Authenticatable concern can be added to your controller.

require "clerk/authenticatable" class ApplicationController < ActionController::Base include Clerk::Authenticatable end

This gives your controller and views access to the following methods:

  • clerk_session
  • clerk_user
  • clerk_user_signed_in?

If you want to protect a subset of your controllers (for example, if you have an admin section), you can add a before_filter like this:

class AdminController < ApplicationController before_action :require_clerk_session private def require_clerk_session redirect_to clerk_sign_in_url unless clerk_session end end

Don't forget to set the environment variable CLERK_SIGN_IN_URL or the method clerk_sign_in_url will fail.

What did you think of this content?

Clerk © 2023