How to implement drag-and-drop sorting in Rails using StimulusJS and Shopify Draggable, setting up a Stimulus controller to handle drag events and send requests to update order on the server, with code samples showing how to configure the controller, use it in views, and process order updates on the backend to reorder associated models.
In this Article, you will learn how to optimize the performance of Ruby on Rails applications. It covers backend optimization, tackling N+1 queries, caching, database indexing, DOM element reduction, lazy loading, and more. The article provides detailed explanations and recommendations for each optimization technique, helping you improve the efficiency and user experience of your Rails applications. Share your own tips and tricks by contacting the author via email.
Refactoring file and directory names, as well as their content, can be challenging, especially in large projects. This guide will walk you through the process using the sed and find commands, addressing common pitfalls and providing solutions to typical issues encountered during the refactor.
How to set up react-rails with esbuild and ultimately get server side rendering working so that we can use react-email.
Discusses the benefits of using PR-based workflows in software development and shares their experience setting up a staging environment for Rails on Render.com. A step-by-step guide on how to configure the staging environment, including creating a staging environment with Jumpstart Pro, setting up an Env group in Render, and configuring the `render.yaml` file. Also some sample bash scripts for the build, start, and initHook commands that use the `IS_PULL_REQUEST` environment variable set by Render to differentiate between production and staging environments.
In this article, we learned how to integrate Stripe Connect onboarding with Ruby on Rails for a newsletter platform use case. We set up the necessary database models for representing authors, newsletters, their issues, and reader subscriptions. We also set up Stripe authentication, installed the Stripe Ruby SDK, and added the necessary code to create a Stripe Express account for authors. We also set up webhooks to listen for account updates and handle them to update the author's flags for whether charges and payouts are enabled. Finally, we tested the integration by going through the onboarding flow using test details and verified that the Stripe account is created successfully with the necessary flags enabled.
Start a free trial using Stripe Checkout *without* customers entering their payment details. You'll also learn how to send an email when a customer's trial ends to convert from trial to paid.
In this article, you'll learn how to use webhooks to automate parts of your Stripe Connect integration. We'll look at some node.js examples for handling webhook events in your server-side code, verifing webhook signatures for multiple use-cases, nesting verification to enable multiple webhook signing secrets. We'll also cover using the Stripe CLI to build and test your webhook endpoint.
In this article, you'll learn how to collect a commission on payments flowing through your Stripe integration; take a cut from payments by transferring a smaller amount than the total payment; collect a one-time payment from a connected account; and collect recurring payments from your users as customers.
This blog post explores the different payment flow options in Stripe Connect, including Direct, Destination, and Separate Charges and Transfers (SCT). The article compares and contrasts the different flows, highlighting their key features, use cases, and potential pitfalls, and covers which connected account configurations work best with each funds flow. Whether you're a seasoned developer or new to Stripe Connect, this guide will give you the information you need to decide which payment flow suits your needs.
When using Stripe Connect, you will need to create an account for each user of your platform who collects payments. There are three types of accounts to choose from: Standard, Express, and Custom. Standard accounts are the easiest to integrate and have the lowest operational overhead, while Custom accounts allow for more control over the user experience but require more development work to implement. It is recommended to use Stripe Connect Onboarding to onboard merchants and minimize compliance and operational issues. Standard and Express accounts receive automatic updates for new compliance requirements, while Custom accounts may need to make updates as compliance requirements change.
Stripe Payment Links allow you to quickly get started with collecting payments. But passing data with your payment links can be tricky. Luckily, this blog post covers 3 ways to do it! Learn how to retrieve Checkout Sessions, use the `client_reference_id` query string parameter, and add UTM parameters to the query string. With these 3 tips you can easily track payments and build attribution for your campaigns with Stripe Payment Links.
This is mostly a note to self about the steps for setting up a fully operational django application with tailwind, authentication, and payments. ## Scaffold the python environment From some parent directory run: ```bash python -m venv venv so venv/bin/activate ``` Install django ```bash pip ...
This is mostly for my own reference later so I can quickly copy and paste snippets. First, I create a webhook controller: ```bash rails g controller Webhooks ``` Then, configure the routes to accept POST requests ```rb # config/routes.rb resources :webhooks, only: [:create] ``` Then, I make...
Learn how Stripe Samples use the new .NET minimal API pattern for simple code examples.
Use a Stimulus controller to control the visibility of a Tailwind UI dropdown menu. You'll add an action to the button that toggles the `hidden` class, wire up the target for the controller, and add a `data-menu-target` to the content of the dropdown menu.
This code snippet is a Ruby method that handles the creation of a file from base64-encoded data. Here's a breakdown of what it does: 1. It starts by extracting the base64-encoded content from the `params` object, specifically from `params["thumbnail"]["file"]['data:image/png;base64,'.length..-1]`. This removes the initial part of the string that indicates the file type and encoding. 2. It then decodes the base64 content using `Base64.decode64`, which is a Ruby method that decodes a base64-encoded string into its binary representation. 3. Next, it creates a `Tempfile` using `Tempfile.new([Time.now.to_i.to_s, ".png"])`. The `Tempfile` class in Ruby provides a temporary file that is automatically deleted when it is closed or when the Ruby process ends. 4. The binary content is then written to the `Tempfile` using `file.write(decoded_image)`. The `binmode` method is called to ensure that the file is opened in binary mode, which is necessary for handling binary data. 5. After writing the content to the `Tempfile`, the file pointer is rewound to the beginning using `file.rewind`. 6. At this point, you can perform any desired operations with the file, such as saving it to a storage service like ActiveStorage, which handles file uploads and attachments in Ruby on Rails. 7. Once the operations are completed, the `Tempfile` is closed using `file.close`, and then unlinked (i.e., deleted) using `file.unlink`. This removes the temporary file from the file system. 8. Finally, you can render or redirect the response according to your application's needs. Note that this code assumes that the input file is in PNG format, as indicated by the `'data:image/png;base64,'` prefix. If you expect different file formats, you will need to modify the code accordingly.