我对有关RJS的stackoverflow的内容感到有些困惑。
很多人都说Rails 3.0已经放弃了UJS的RJS。这个陈述让我感到困惑,因为据我所知,突出(内联)和不引人注目的JavaScript之间的区别并没有定义RJS本身。
Isnt RJS使用JavaScript模板并使用AJAX调用的行为返回代码,而代码又在客户端执行,而不是让应用程序返回JSON或XML的非RJS路由,即只返回数据,有客户端JavaScript处理吗?
如果我所说的是正确的,Rails 3.0确实支持RJS,你可以将UJS与RJS一起使用,虽然我相信3.1中的支持将被分成可选的gem .s。
示例: - UJS与index.erb和application.js一起使用,但数据在index.js.erb中返回,因此UJS与RJS一起使用
答案 0 :(得分:1)
你是对的,有时会令人困惑。我的观点是:
UJS出现在Rails 3
在Rails 3.1中将RJS提取为宝石
UJS和RJS只有JS
共同
答案 1 :(得分:1)
RJS只是另一种视图模板。它允许您编写Ruby而不是JavaScript。例如,update.js.erb
使用jQuery:
$("#data").html("<%= escape_javascript render(:partial => 'data') %>");
$("#loading_indicator").hide();
和update.rjs
:
page.replace_html 'data', :partial => 'data'
page.hide 'loading_indicator'
RJS依赖于Prototype和Scriptaculous(链接指向助手的Ruby文档)。有关RJS和Rails 3.1的更多详细信息,请参阅this SO question/answer。