Cover Image for Action View source Deep-Dive
Cover Image for Action View source Deep-Dive
4 Going
Jeremy Smith
invites you to join

Action View source Deep-Dive

Hosted by Kasper Timm Hansen
Zoom
Get Tickets
Ticket Price
$149.00
Per ticket
Tickets
1
About Event

This event is a spin off of my overall Rails guided tour where we go deeper into parts of Rails.

Apr
17
Guiding You through the Rails Source
Thu, Apr 17, 6:00 PM UTC

Rails is your app's biggest dependency and you probably don't know what's going on in there.

tl;dr: I'm a former Rails core member guiding you through complex parts of Rails helping demystify how things work, so you can feel confident in reading more open source, get inspired and level yourself up faster.

There's features you're missing out on entirely, and features you don't know about. There's features you know, but you probably don't know how they work — and whether you feel confident enough to depend on them.

Without knowing what's going on in Rails, upgrades can seem fraught and daunting and it's tougher to know what to do. And then it's the slow drag of never upgrading. We've all been there.

Reading Rails can help untangle all these issues. This is the way I've leveled up in my career.

Wait, who's this?

It's Kasper! I was on the Rails core team for six years and I've reviewed thousands of contributor pull requests to Rails. I was the 11th contributor when I left core. You can see all my commits here.

I've shipped many features like credentials, form_with, collection caching via render partial: "user", collection: users, cached: true, an internal command infrastructure, maintained and grew GlobalID, invented and extracted Kredis and more. I was also a part of shepherding and reviewing tons of other features (sorry, they blur together after the first 1000 😅).

I've also taken Rails further in my own gems like active_record-associated_object, active_job-performs, oaken and action_controller-stashed_redirects as well as in nice_partials & showcase-rails from my work on Bullet Train.

I grew my Ruby & Rails skills primarily from source diving into gems like Rails itself. I find it's a vastly underrated technique for leveling yourself up, so I'm passing on how to do it onto you.


Working with Kasper was everything I hoped for, and more! His deep knowledge of Rails and keen eye for domain modeling allowed him to quickly get up to speed with our project, leaving more time for problem-solving. He helped us overcome two major technical challenges we had been putting off for some time. I’m grateful we had the opportunity to work with Kasper and look forward to collaborating with him again.

I’ve had the privilege of learning from Kasper over the past few months. Thanks to the tools and techniques he shared, I’ve become much faster at debugging and fixing issues by identifying root causes more efficiently. Additionally, I’m now able to help my teammates get unblocked by applying the problem-solving strategies I gained from my time with him. Kasper’s guidance has had a lasting impact on my ability to contribute effectively to my team.

  • Francois Buys, Lead Software Engineer at OmbuLabs

Had an amazing 1:1 session with @kaspth.bsky.social yesterday where he helped me riff on a new feature I am about to start building for mycpaconnect.com.

Feeling way more confident now.

The Rails community is fortunate to have experts like him available to help the rest of us as we build.


Investigating Rails has many benefits

Rails isn't magic 🪄 reading Rails helps dispel the myth that Rails is magic: it's a lot of Ruby, yes, but it is ultimately understandable and honestly not too bad.

Get a better understanding of how to write APIs: reading the source can give you suggestions of how to or how not to structure your Ruby.

Grow your Ruby skills: for many people the Rails internals are vastly outside their comfort zone, which means you can learn from tons of actual Ruby.

Level up faster: you can feel confident that you can pop open pretty much any gem and start learning how it's made. You read way more code than you write, so getting faster at orienting yourself in new code is a force multiplier.

No other dependency is now scary: Rails is your app's biggest dependency, and getting over the fear of diving into it suddenly opens the door to reading pretty much any other gem with confidence.

You can now evaluate other dependencies: are you thinking of adding a new gem? Well, you've read parts of Rails! Now it's not hard to bundle open gem and skim it. This lets you become a prosumer of open source.

All these skills are applicable to your day job: the better you get at reading code you haven't seen before, the less scary your daily codebase gets — yes, even those parts.

What do we cover in Action View?

  • Output Buffers

  • ERB processing and what partials/templates actually get compiled to

  • Helpers and how they're loaded/built

  • Form Helpers

  • Fragment caching via the cache helper

  • How the handoff from controllers to views works

  • Lookup Contexts

  • Resolvers for finding templates/partials

  • Testing partials with ActionView::TestCase

  • If time permits, we may look at NicePartials/ViewComponent to show how they leverage these concepts and extend them.

We may not have time to cover all of these, but we can tweak these depending on the audience since it's live.

These events are about demystifying the internals enough so that you feel confident to go even deeper on your own.

You're not required to be on video or talk, but you're welcome to put questions and thoughts in the chat throughout the call. You can also send in questions beforehand via Bluesky, Mastodon, and LinkedIn.

We'll record the Zoom call and you'll receive the recording afterwards.

What do I tell my boss?

If you're a boss reading this, investing in your team via training improves your company’s output, but also makes your team feel rightly valued & supported. Spending on training is also tax-deductible.

Here's a Slack template you can send over:

Hey {boss}, I've come across a live guided tour of the Rails internals. Rails is a our biggest dependency and chockful of features, by investing in this session we can take better strategic advantage of Rails in our app.

This is primarily a tour that focuses on reading code faster & better. As programmers we read a lot of code to build understanding and to prevent mistakes. So training that focuses on reading is a force multiplier for our team.

This tour walks us through really complex parts of Rails and demystifies them for us — doing this on our own would take at least 3x the time.

The tour is run by Kasper Timm Hansen who helped steer Rails while being on the Rails core team. He also shipped many features and reviewed & merged thousands of pull requests to Rails.

Anything else?

I'm also available for consulting on Rails projects and 1-1 consulting, you can book here https://savvycal.com/kaspth

4 Going