Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

(Rails) What is "RJS"?

I've seen "RJS" and "RJS templates" mentioned in passing in blog posts and tutorials. I did a search, but I'm still unsure about it. Is it a technology specific to Rails, rather than a standard like JSON or YAML?

I understand it's used for "generating JavaScript." Does it generate generic JS or Rails-specific JS requiring the Prototype and Scriptaculous libraries?

like image 742
Ethan Avatar asked Jan 19 '09 23:01

Ethan


3 Answers

This Railscast gives a nice example of using RJS to add and remove form fields dynamically without hitting the server with an ajax call.

These RJS tips may also be helpful.

like image 121
Rich Apodaca Avatar answered Sep 29 '22 16:09

Rich Apodaca


RJS is a template (similar to an html.erb file) that generates JavaScript which is executed in an eval block by the browser in response to an AJAX request. It is sometimes used (incorrectly?) to describe the JavaScript, Prototype, and Scriptaculous Helpers provided by Rails.

like image 34
MattMcKnight Avatar answered Sep 29 '22 15:09

MattMcKnight


RJS was a "ruby-to-js" template system, RJS is not widely used anymore in the Rails ecosystem. SJR (Server-generated JavaScript Responses) is now prefered.

This DHH's post helped me a lot to understand : https://signalvnoise.com/posts/3697-server-generated-javascript-responses

2021 EDIT : now you should use Hotwire.dev

like image 25
Nicolas Maloeuvre Avatar answered Sep 29 '22 16:09

Nicolas Maloeuvre