Rails 3:RJS与JavaScript

mha*_*ski 4 javascript rjs ruby-on-rails-3

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

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

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

Vol*_*ldy 6

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

UPD. 这种方法在轨道3中以相同的方式工作.可以将它与JQuery和HAML一起使用.Rails 3中的UJS甚至简化了它.你应该做的唯一事情就是使用jquery-ujs,如果你更喜欢Jquery而不是Prototype和正确的文件命名之类的create.js.haml.例如,可以使用此方法在AJAX请求中使用服务器端验证.