Chris Oliver


273,750 Experience
31 Lessons Completed
297 Questions Solved


If you have the HTML ID in the URL (or sent as a param), you could use that in your turbo_stream.replace.

For example:

<% @cards.each do |card| %>
  <%= tag.div id: dom_id(card) %>
    <%= render partial: "cards/show", locals: { card: card } %>
  <% end %>
<% end %>
<%= turbo_stream.replace dom_id(card), partial: "cards/show" %>

That gives you a consistent ID across things.

Turbo Frames would expect you to have routes for the card show & edit and would handle this for you automatically as long as you had a resources :cards controller filled out with the matching frames.

Posted in Stripe connect issues

Yep, you will:

  1. Create an account with Stripe::Account.create()
  2. Save the account ID to your user
  3. Create an AccountLink so the user can be onboarded.

Posted in Stripe connect issues

Stripe recommends using AccountLink instead of OAuth. It's a bit easier and supports both Express and Standard accounts.

Check out the docs for that here:

Posted in Help parsing a string down to what I need it to be.

Does this work?

get_response = HTTParty.get(url)

cookie_hash =
get_response.get_fields('Set-Cookie').each { |c| cookie_hash.add_cookies(c) }

response ="http://localhost:3000/users/other_urls", {headers: {'Cookie' => cookie_hash.to_cookie_string }} )

Access to admin panel is forbidden due to Doorkeeper.configure.admin_authenticator being unconfigured.

Looks like you need to set that config option.

Yes, it uses a database used only inside the CI.

And you want to always run the CI even if your local tests pass. The CI environment may catch something you missed and is most important when you have multiple people merging changes together as it can be easy to miss something. Think of it as double checking your work constantly. 👍

Posted in Store a hash in a database

A json or jsonb column can save/load a hash pretty easily and sounds like it might work for what you need. I'd just be careful to store simple things like strings, numbers, arrays in it and not something like a Ruby object.

I'm not following. If you're making realtime updates on the page without refreshing, you're going to want the same for flash and toasts.

That's what we covered in this episode?

More RAM would help you run more Rails processes at once so you could serve more users at once, but each individual request will still need to be optimized to run as quick as possible. Caching & optimizing assets is still important and a bigger CPU can help process requests slightly faster.

Posted in How to handle flash messages with TurboJS?

You can use a turbo stream to insert the flash message into a div for them. 👍

I'm actually going to do a screencast on this shortly.

Posted in Use Redis as a way to update a model along a process

If it's just something simple like product IDs, you could use redis. Rails now has kredis which you can use for that: I've been meaning to do a screencast on it.

If it's more complicated, you probably want to store in your database. Redis is just for simple key / value storage so you can't store anything too complex in there. You can sort of cheat and save a json object as the value, but then you have to de/serialize that every time you access it.

Guess it kind of depends on what you're doing as to what would work best.

Posted in sending the simplest of emails? (ruby or RoR)

It's looking for an SMTP server running on your machine on port 25. You'd have to run something like postfix to do that.

Posted in GoRails forum report spam feature - broken?

Looks like maybe Rails UJS isn't firing the request as a PUT. I'll take a look and see if I can reproduce it. 👍

Posted in learning path

Check out the brand new Ruby on Rails for Beginners course:

Posted in Sharing Personal SAAS Tools...

Great work Mike! URL shortener is such a fun project to build in Rails. 👍

Posted in "rails for beginners part 21"

The Rails 6.0 to 6.1 is really simple, so you should be fine upgrading. 👍

The update task is pretty easy: bin/rails app:update

And of course, all the details are here:

Posted in "rails for beginners part 21"

Make sure you're using the latest Rails version. I don't think this works in older Rails versions.

I just updated this lesson for Omniauth 2.0. 👍

This episode has been updated for Omniauth 2.0. 👍

logo Created with Sketch.

Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

© 2022 GoRails, LLC. All rights reserved.