What is @rails/ujs?
@rails/ujs is a JavaScript library that provides Unobtrusive JavaScript (UJS) helpers for Ruby on Rails applications. It helps in handling common JavaScript behaviors in a Rails application, such as handling AJAX requests, form submissions, and link clicks, without writing custom JavaScript code.
What are @rails/ujs's main functionalities?
Handling AJAX Requests
This feature allows you to handle AJAX requests by simply adding `data-remote="true"` to your HTML elements. The @rails/ujs library will automatically handle the AJAX request and response.
// HTML
<a href="/some_path" data-remote="true">Click me</a>
// JavaScript
import Rails from '@rails/ujs';
Rails.start();
// This will automatically handle the AJAX request for the link with data-remote="true"
Form Submission
This feature allows you to submit forms via AJAX by adding `data-remote="true"` to your form elements. The @rails/ujs library will handle the form submission and response without requiring custom JavaScript.
// HTML
<form action="/some_path" method="post" data-remote="true">
<input type="text" name="example" />
<input type="submit" value="Submit" />
</form>
// JavaScript
import Rails from '@rails/ujs';
Rails.start();
// This will automatically handle the form submission via AJAX
Confirmation Dialogs
This feature allows you to add confirmation dialogs to your links and buttons by adding `data-confirm="Are you sure?"`. The @rails/ujs library will show a confirmation dialog before proceeding with the action.
// HTML
<a href="/some_path" data-confirm="Are you sure?">Delete</a>
// JavaScript
import Rails from '@rails/ujs';
Rails.start();
// This will automatically show a confirmation dialog before proceeding with the link action
Other packages similar to @rails/ujs
jquery-ujs
jquery-ujs is a similar library that provides Unobtrusive JavaScript helpers for Rails applications using jQuery. It offers similar functionalities such as handling AJAX requests, form submissions, and confirmation dialogs. However, it requires jQuery as a dependency, whereas @rails/ujs does not.
stimulus
Stimulus is a JavaScript framework that complements Rails by providing a way to add behavior to HTML elements. While it is not a direct replacement for @rails/ujs, it can be used to achieve similar functionalities by writing custom controllers. Stimulus offers more flexibility and control over the behavior of your application.
= Action View
Action View is a framework for handling view template lookup and rendering, and provides
view helpers that assist when building HTML forms, Atom feeds and more.
Template formats that Action View handles are ERB (embedded Ruby, typically
used to inline short Ruby snippets inside HTML), and XML Builder.
You can read more about Action View in the {Action View Overview}[https://edgeguides.rubyonrails.org/action_view_overview.html] guide.
== Download and installation
The latest version of Action View can be installed with RubyGems:
$ gem install actionview
Source code can be downloaded as part of the \Rails project on GitHub:
== License
Action View is released under the MIT license:
== Support
API documentation is at
Bug reports for the Ruby on \Rails project can be filed here:
Feature requests should be discussed on the rails-core mailing list here: