Ненавязчивость означает, что вы не должны делать что-то встроенное, как вы сказали.RJS - это нечто иное, в основном помощники ruby, которые генерируют javascript.Что ненавязчиво означает для rails, так это то, что вместо генерации js inline он вместо этого будет украшать объекты dom информацией, достаточной для того, чтобы выяснить, что делать, а затем использовать делегирование событий в качестве альтернативного метода для простого сброса тега script в серединуpage.
Это приводит к намного более чистому выводу и потенциально лучшей производительности, как на стороне клиента (не нужно перезапускать javascript все время, если вы используете делегирование событий), так и на основе ajax (неделать что-то встроенное означает, что вам не нужно вставлять javascript по проводам вместе с вашим html).
RJS - это совсем другое, и это движение практически не изменилось.Как правило, я нахожу, что люди, которые не очень знакомы с тем, как работает javascript, предпочитают подход rjs, поскольку он просто выполняет свою работу.Если вы действительно серьезно относитесь к своему js, скорее всего, вы будете либо использовать файлы js.erb, либо просто возвращать json с сервера и заниматься всем остальным полностью на стороне клиента.