shakacode/react_on_rails

Integration of React + Webpack + Rails including server-side rendering of React, enabling a better developer experience and faster client performance.

5,190

stars

4,222

commits

Ruby

primary language

Sep 10, 2026

updated

www.shakacode.com/react-on-rails/docs/
heroku-deployment
javascript-api
npm-module
rails-development
rails-views
react
react-components
react-rails
redux
redux-saga
redux-store
ruby-gem
ruby-on-rails
shakacode
webpack
Browse cluster: React and Modern JavaScript Build Tooling

README

reactrails


LicenseGem Version npm version Gem Downloads

Integration Tests Gem Tests JS Tests Linting

Documentation · Quick Start · Examples · Pro · Pro Pricing / Sign Up

React on Rails

React on Rails integrates React into Ruby on Rails applications with Rails view helpers, server-side rendering, hot reloading, and automatic bundle generation.

This README is intentionally brief. For setup guides, architecture, API reference, upgrades, examples, and Pro features, use the main documentation site: reactonrails.com/docs.

React on Rails is maintained by ShakaCode.

Start Here

These docs are for React on Rails 17. Historical docs and code are available for v15 (code), v14, v13, v12, and v11. See the upgrade guide before using v15 material.

Install in 30 Seconds

Create a new React on Rails app:

npx create-react-on-rails-app my-app
cd my-app
bin/rails db:prepare
bin/dev

New apps default to React on Rails Pro for React 19.2 support. Use --standard only when you intentionally want an open-source-only setup.

Add React on Rails to an existing Rails app:

bundle add react_on_rails --strict
bundle exec rails generate react_on_rails:install
bin/dev

Render a component in any Rails view:

<%= react_component("HelloWorld", props: { name: "World" }) %>

If you hit setup issues, run:

bundle exec rake react_on_rails:doctor

Why Teams Use React on Rails

  • Render React directly inside Rails views with react_component.
  • Use Rails-oriented SSR in OSS, or upgrade to Pro for Node-rendered SSR, streaming SSR, and React Server Components.
  • Keep a single Rails app instead of splitting into a separate frontend and API.
  • Use modern bundling with Shakapacker, including Rspack support.

React on Rails Pro

React on Rails Pro adds higher-throughput SSR and advanced rendering features on top of the open-source gem, including Node renderer support, streaming SSR, React Server Components, fragment caching, and TanStack Router SSR.

ShakaCode Trust-Based Commercial Licensing: Try Pro freely in development, test, CI/CD, and staging. No token is required to evaluate. If no license is configured, Pro keeps running and logs license status instead of blocking your app. Production deployments require a paid license; see Pro pricing and sign up.

Start with the docs here:

Requirements

  • Ruby on Rails >= 5.2
  • Shakapacker >= 6.0 (autobundling requires >= 7.0; CI tested: 8.2.0 - 10.3.0)
  • Ruby >= 3.3 (CI tested: 3.3 - 4.0)
  • Node.js >= 18
  • A JavaScript package manager such as pnpm, npm, yarn, or bun

Help

Contributing

Bug reports and pull requests are welcome. Start with CONTRIBUTING.md and the help wanted issues.

Security

Suspected security vulnerabilities should be reported privately. See SECURITY.md for the disclosure process and supported version policy. Please do not open a public issue for security reports.

License

React on Rails is available as open source under the terms of the MIT License.

React on Rails Pro is offered under ShakaCode Trust-Based Commercial Licensing. No license token is required for evaluation, development, testing, or CI/CD; production deployments using Pro features require a paid license. See React on Rails Pro and Pro pricing and sign up for details.

Supporters

Thanks to the companies supporting ShakaCode's open-source work.

JetBrains Scout Control Plane BrowserStack Honeybadger CodeRabbit

Contributors

(top 30 of 219)

justin808

2,754 commits

AbanoubGhadban

194 commits

udovenko

165 commits

ihabadham

123 commits

shakacode/react_on_rails

Integration of React + Webpack + Rails including server-side rendering of React, enabling a better developer experience and faster client performance.

5,190

stars

4,222

commits

Ruby

primary language

Sep 10, 2026

updated

www.shakacode.com/react-on-rails/docs/
heroku-deployment
javascript-api
npm-module
rails-development
rails-views
react
react-components
react-rails
redux
redux-saga
redux-store
ruby-gem
ruby-on-rails
shakacode
webpack
Browse cluster: React and Modern JavaScript Build Tooling

README

reactrails


LicenseGem Version npm version Gem Downloads

Integration Tests Gem Tests JS Tests Linting

Documentation · Quick Start · Examples · Pro · Pro Pricing / Sign Up

React on Rails

React on Rails integrates React into Ruby on Rails applications with Rails view helpers, server-side rendering, hot reloading, and automatic bundle generation.

This README is intentionally brief. For setup guides, architecture, API reference, upgrades, examples, and Pro features, use the main documentation site: reactonrails.com/docs.

React on Rails is maintained by ShakaCode.

Start Here

These docs are for React on Rails 17. Historical docs and code are available for v15 (code), v14, v13, v12, and v11. See the upgrade guide before using v15 material.

Install in 30 Seconds

Create a new React on Rails app:

npx create-react-on-rails-app my-app
cd my-app
bin/rails db:prepare
bin/dev

New apps default to React on Rails Pro for React 19.2 support. Use --standard only when you intentionally want an open-source-only setup.

Add React on Rails to an existing Rails app:

bundle add react_on_rails --strict
bundle exec rails generate react_on_rails:install
bin/dev

Render a component in any Rails view:

<%= react_component("HelloWorld", props: { name: "World" }) %>

If you hit setup issues, run:

bundle exec rake react_on_rails:doctor

Why Teams Use React on Rails

  • Render React directly inside Rails views with react_component.
  • Use Rails-oriented SSR in OSS, or upgrade to Pro for Node-rendered SSR, streaming SSR, and React Server Components.
  • Keep a single Rails app instead of splitting into a separate frontend and API.
  • Use modern bundling with Shakapacker, including Rspack support.

React on Rails Pro

React on Rails Pro adds higher-throughput SSR and advanced rendering features on top of the open-source gem, including Node renderer support, streaming SSR, React Server Components, fragment caching, and TanStack Router SSR.

ShakaCode Trust-Based Commercial Licensing: Try Pro freely in development, test, CI/CD, and staging. No token is required to evaluate. If no license is configured, Pro keeps running and logs license status instead of blocking your app. Production deployments require a paid license; see Pro pricing and sign up.

Start with the docs here:

Requirements

  • Ruby on Rails >= 5.2
  • Shakapacker >= 6.0 (autobundling requires >= 7.0; CI tested: 8.2.0 - 10.3.0)
  • Ruby >= 3.3 (CI tested: 3.3 - 4.0)
  • Node.js >= 18
  • A JavaScript package manager such as pnpm, npm, yarn, or bun

Help

Contributing

Bug reports and pull requests are welcome. Start with CONTRIBUTING.md and the help wanted issues.

Security

Suspected security vulnerabilities should be reported privately. See SECURITY.md for the disclosure process and supported version policy. Please do not open a public issue for security reports.

License

React on Rails is available as open source under the terms of the MIT License.

React on Rails Pro is offered under ShakaCode Trust-Based Commercial Licensing. No license token is required for evaluation, development, testing, or CI/CD; production deployments using Pro features require a paid license. See React on Rails Pro and Pro pricing and sign up for details.

Supporters

Thanks to the companies supporting ShakaCode's open-source work.

JetBrains Scout Control Plane BrowserStack Honeybadger CodeRabbit

Contributors

(top 30 of 219)

justin808

2,754 commits

AbanoubGhadban

194 commits

udovenko

165 commits

ihabadham

123 commits

Languages

Ruby

56.9%

TypeScript

18.0%

HTML

14.9%

JavaScript

5.8%

Shell

4.2%