aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/app/assets/javascripts/README.md
blob: 0819d5da5f8d1857c945529161b0e6c6001208f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Ruby on Rails unobtrusive scripting adapter.
========================================

This unobtrusive scripting support file is developed for the Ruby on Rails framework, but is not strictly tied to any specific backend. You can drop this into any application to:

- force confirmation dialogs for various actions;
- make non-GET requests from hyperlinks;
- make forms or hyperlinks submit data asynchronously with Ajax;
- have submit buttons become automatically disabled on form submit to prevent double-clicking.

These features are achieved by adding certain ["data" attributes][data] to your HTML markup. In Rails, they are added by the framework's template helpers.

Requirements
------------

- HTML5 doctype (optional).

If you don't use HTML5, adding "data" attributes to your HTML4 or XHTML pages might make them fail [W3C markup validation][validator]. However, this shouldn't create any issues for web browsers or other user agents.

Installation using npm
------------

Run `npm install rails-ujs --save` to install the rails-ujs package.

Installation using Yarn
------------

Run `yarn add rails-ujs` to install the rails-ujs package.

Usage
------------

Require `rails-ujs` into your application.js manifest.

```javascript
//= require rails-ujs
```

Usage with yarn
------------

When using with Webpacker gem or your preferred JavaScript bundler. Just add the following to your main JS file and compile.

```javascript
import Rails from 'rails-ujs';
Rails.start()
```

How to run tests
------------

Run `bundle exec rake ujs:server` first, and then run the web tests by visiting http://localhost:4567 in your browser.

## License
rails-ujs is released under the [MIT License](MIT-LICENSE).

[data]: http://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes "Embedding custom non-visible data with the data-* attributes"
[validator]: http://validator.w3.org/
[csrf]: http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection.html