marcoroth/reactionview

🌱 Reactive views for the HTML+ERB you already have.

Ruby

504

136 commits

updated Sep 24, 2026

See the code

See what people are saying

README

ReActionView

ReActionView

Reactive views for the HTML+ERB you already have.

You get what a client-side framework gives you, without adopting one.

No new syntax Ā· No client framework Ā· No API layer Ā· No build step

Gem Version Documentation License Issues


ReActionView makes your existing HTML+ERB templates reactive.

Rails 8.2 already renders HTML templates with Herb::Engine, which reads the HTML and the Ruby in a template together. ReActionView builds on that. A template declares state the browser owns, changes it with an HTML attribute, and has your controller answer when the server is needed. There is no second copy of the page to keep in sync.

It also brings Herb's error overlays, the dev tools and per-tag instrumentation to the page, so a mismatched tag or a <div> inside a <p> shows up in the browser with the file and the line while you work. On Rails 8.1 and earlier, it brings the engine itself.

Documentation

reactionview.dev

Installation

bundle add reactionview
bin/rails generate reactionview:install

The generator creates config/initializers/reactionview.rb and imports the client from app/javascript/application.js. On importmap-rails the gem pins the client for you. With a bundler, install the reactionview npm package as well.

ReActionView needs Ruby 3.2 or newer and Rails 7.0 or newer. Setup covers turning on reactive templates and checking that it works, and the Quick Start builds a first reactive page.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/marcoroth/reactionview. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

Code of Conduct

Everyone interacting in the ReActionView project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

License

This project is available as open source under the terms of the MIT License.

actionview
erb
hacktoberfest
herb
html
html-erb
rails
ruby
rubyonrails

Contributors

marcoroth

116 commits

joelhawksley

2 commits

jherdman

1 commits

marcoroth/reactionview

🌱 Reactive views for the HTML+ERB you already have.

Ruby

504

136 commits

updated Sep 24, 2026

See the code

See what people are saying

README

ReActionView

ReActionView

Reactive views for the HTML+ERB you already have.

You get what a client-side framework gives you, without adopting one.

No new syntax Ā· No client framework Ā· No API layer Ā· No build step

Gem Version Documentation License Issues


ReActionView makes your existing HTML+ERB templates reactive.

Rails 8.2 already renders HTML templates with Herb::Engine, which reads the HTML and the Ruby in a template together. ReActionView builds on that. A template declares state the browser owns, changes it with an HTML attribute, and has your controller answer when the server is needed. There is no second copy of the page to keep in sync.

It also brings Herb's error overlays, the dev tools and per-tag instrumentation to the page, so a mismatched tag or a <div> inside a <p> shows up in the browser with the file and the line while you work. On Rails 8.1 and earlier, it brings the engine itself.

Documentation

reactionview.dev

Installation

bundle add reactionview
bin/rails generate reactionview:install

The generator creates config/initializers/reactionview.rb and imports the client from app/javascript/application.js. On importmap-rails the gem pins the client for you. With a bundler, install the reactionview npm package as well.

ReActionView needs Ruby 3.2 or newer and Rails 7.0 or newer. Setup covers turning on reactive templates and checking that it works, and the Quick Start builds a first reactive page.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/marcoroth/reactionview. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

Code of Conduct

Everyone interacting in the ReActionView project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

License

This project is available as open source under the terms of the MIT License.

actionview
erb
hacktoberfest
herb
html
html-erb
rails
ruby
rubyonrails

Contributors

marcoroth

116 commits

joelhawksley

2 commits

jherdman

1 commits

Languages

Ruby

97.0%

TypeScript

2.1%