(Rails)什么是"RJS"?

Eth*_*han 31 ajax ruby-on-rails rjs prototypejs

我在博客文章和教程中看到了"RJS"和"RJS模板".我做了一个搜索,但我仍然不确定.它是Rails特有的技术,而不是像JSON或YAML这样的标准吗?

我知道它用于"生成JavaScript".它是否生成了需要Prototype和Scriptaculous库的通用JS或Rails特定的JS?

Ric*_*aca 21

这个Railscast提供了一个很好的例子,可以使用RJS动态添加和删除表单字段,而无需通过ajax调用来访问服务器.

这些RJS技巧也可能有所帮助.


Mat*_*ght 14

RJS是一个模板(类似于html.erb文件),它生成JavaScript,由浏览器在eval块中执行以响应AJAX请求.有时使用(错误?)来描述Rails提供的JavaScript,Prototype和Scriptaculous Helpers.


Nic*_*vre 11

RJS是一个"ruby-to-js"模板系统,RJS在Rails生态系统中不再广泛使用.现在更喜欢SJR(服务器生成的JavaScript响应).

这个DHH的帖子帮助我理解了很多:https://signalvnoise.com/posts/3697-server-generated-javascript-responses

  • 只是为了详细说明“不再广泛使用”:已经是 2020 年了,Basecamp(Rails 背后的公司 - 即使他们在 2018 年进行了重大重构)和 Shopify 仍在使用 RJS。根据 Rails 作者的说法,它不会很快消失。所以 RJS 在生产应用程序中使用它仍然可以(我仍然在个人项目中使用它) (2认同)