首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3: RJS与JavaScript

Rails 3: RJS与JavaScript
EN

Stack Overflow用户
提问于 2010-07-31 20:27:08
回答 2查看 5.2K关注 0票数 4

我最近开始学习基于RoR3 beta/RC的Ruby on Rails。我之前一直在使用其他框架(比如Django)开发应用程序,其中的JavaScript完全是我自己编写的。

在使用RoR开发应用程序时,我对实现JavaScript的两种可能方式感到困惑:“纯”方式(编写JavaScript并将其放入<script>标记中)和编写RJS文件。

应该使用哪种方法以及何时使用?如果是RJS,我该如何实现像onChange这样的特定操作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-06 00:39:20

在rails中,您应该对不同的任务使用这两种方法。我也是。当我想执行ajax请求时,我使用RJS,因为它简化了请求,并允许用更少的代码在.rjs文件中编写更强大、更灵活的响应。例如,可以在其中使用partials,也可以访问ruby变量。当我想让一个页面更具动态性时,我会使用包含javascript_include_tag的普通javascript。

这种方法在3中也是以同样的方式工作的。它可以与JQuery和HAML一起使用。Rails 3中的UJS甚至简化了它。如果您更喜欢Jquery而不是Prototype和适当的文件命名(如create.js.haml ),那么您唯一应该做的就是使用jquery-ujs。例如,可以通过这种方法在AJAX请求中使用server-side validation

票数 6
EN

Stack Overflow用户

发布于 2011-01-12 18:46:40

在Rails3中,正确的方法是纯JS。RJS太严格了,你必须以某种方式使用Prototype或hack才能在jQuery中使用它。Rails3也促进了低调的javascript。对于AJAX请求,您应该返回嵌入了ERB的纯Javascript,而不是使用RJS。

不幸的是,由于此更改需要对使用RJS的旧项目进行大量返工,因此有些人将对其置之不理。

RJS实际上在Rails3中已经贬值了,你甚至需要一个插件来使用它,所以如果你现在就开始工作,并且有幸已经开始使用Rails3,那么就继续使用rails 3吧。

下面是新的UJS方式的一个很好的例子:http://railscasts.com/episodes/205-unobtrusive-javascript

祝好运

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3378091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档