(Rails)什么是“RJS”?

36

我在博客文章和教程中偶尔看到“RJS”和“RJS模板”的提及。我进行了搜索,但仍不确定它是Rails特有的技术,还是像JSON或YAML一样的标准?

我理解它用于“生成JavaScript”。它会生成通用的JS,还是需要Prototype和Scriptaculous库的Rails特定JS?

3个回答

22

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

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


18

2
仅就“不再广泛使用”这一点进行阐述:现在是2020年,RJS仍然被Basecamp(Rails背后的公司 - 即使在2018年进行了重大重构之后)和Shopify使用。从Rails的作者所说的来看,它不会很快消失。因此,在生产应用程序中仍然可以使用RJS(我仍在个人项目中使用它)。 - equivalent8
@equivalent8 好的!我知道Basecamp正在前端上进行“新的魔法”开发,应该会在2020年底准备就绪(参见dhh在Twitter上的发言)。我迫不及待地想看到他们向我们展示。 - Nicolas Maloeuvre
“新魔法”已在Hotwire(https://hotwire.dev)发布,“Hotwire是一种替代方法,构建现代Web应用程序而不使用太多JavaScript,通过在线路上传送HTML而不是JSON。” - Jochem Schulenklopper

17

RJS是一个模板(类似于html.erb文件),生成JavaScript代码,并在浏览器中通过eval块响应AJAX请求执行。 有时被误用来描述Rails提供的JavaScript、Prototype和Scriptaculous Helpers。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接