javascript-in-rails

Configure import maps or bundlers for JavaScript in Rails 7+ apps.

3|Updated Jan 9, 2026
One-click install
npx skills add https://github.com/bastos/ruby-plugin-marketplace --skill javascript-in-rails
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: javascript-in-rails
Source: https://github.com/bastos/ruby-plugin-marketplace/tree/main/plugins/ruby-on-rails/skills/javascript-in-rails
Command: npx skills add https://github.com/bastos/ruby-plugin-marketplace --skill javascript-in-rails

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide helps Rails developers navigate and configure client-side JavaScript tooling for Rails 7+ apps, covering import maps and various bundlers, as well as Turbo helpers and UJS replacements.

Core Features & Use Cases

  • Choice guidance: helps decide between import maps and bundlers based on project needs.
  • Tooling setup: outlines steps to enable import maps or jsbundling-rails in a Rails app.
  • Compatibility guidance: explains how to integrate Turbo helpers, request.js, and CSRF considerations across toolchains.

Quick Start

Choose a JavaScript strategy for your Rails app (import maps or a bundler) and apply the recommended setup steps accordingly.

Frequently Asked Questions about javascript-in-rails

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Should I use import maps or a bundler for JavaScript in Rails 7?

Choose between import maps and a bundler for your Rails 7 JavaScript based on project complexity. Import maps serve modules directly without build steps, while bundlers compile dependencies for advanced requirements like tree-shaking or older syntax.

How do I configure request.js with Turbo in a Rails application?

Configure request.js with Turbo in Rails by wiring the fetch wrapper to respect Turbo Drive visits. This integration ensures your client-side JavaScript requests handle CSRF tokens and session context correctly alongside Turbo navigation.

What replaces Rails UJS for handling JavaScript interactions in Rails 7+?

Rails UJS is replaced by Turbo in Rails 7+ for handling JavaScript interactions. You must update your client-side JavaScript to use Turbo helpers instead of UJS events, while ensuring CSRF handling remains functional across your chosen toolchain.

How do I set up import maps in an existing Rails 7 application?

Set up import maps in Rails 7 using the importmap-rails gem. You pin JavaScript modules in your application configuration, allowing the browser to load dependencies directly without requiring a separate JavaScript bundling step.

Does Turbo work with jsbundling-rails and traditional JavaScript bundlers?

Yes, Turbo works seamlessly with jsbundling-rails and traditional bundlers. You configure Turbo alongside your chosen JavaScript toolchain, ensuring that Turbo Drive and Frames integrate properly with bundled assets and CSRF protection.

Why are my JavaScript imports not loading after switching to import maps in Rails?

JavaScript imports fail in Rails import maps if modules are not pinned correctly or lack proper CDN availability. Verify your importmap configuration pins all required dependencies and that your browser supports native ES module loading.