我过去在RoR项目中使用过RJS,对它所能做的事情感到非常紧张。然而,单独使用Javascript感觉/感觉很丑陋和笨拙。当编写Javascript来操纵从变量名自动生成的Rails时,这一点尤其正确。我最近在博客圈中没有看到太多关于RJS的讨论。RJS是在新的RoR项目中使用,还是人们认为它无效?它是否仍在积极开发中,其功能覆盖范围是否扩大?如果能深入了解当前的情况,我会很感激。
那么,谁在使用RJS (它对您来说是如何工作的),谁在使用javascript?
发布于 2009-12-20 15:04:23
我建议直接写javascript。我相信--是的-- RJS已经过时了。其中一个原因是性感的jQuery库的流行。另一个是RJS的模型--因为它是一个围绕javascript的ruby包装器,所以对于你需要使用的任何javascript库,你都需要一个相应的ruby包装器库,这意味着一些人将不得不做更多的繁重的工作(还有另一个你必须依赖的gem )。此外,尽管发出请求并接收回可执行的javascript的想法很好,但我相信有很多人不喜欢这种风格,或者至少不认为它适用于某些情况。我个人已经学会了javascript,并开始喜欢上它,我建议你试一试。
发布于 2009-12-20 20:41:07
我喜欢使用RJS来完成简单的任务,比如:
page["post_#{@post.id}"].replace :partial => @post
page["post_#{@post.id}"].highlight是的,您可以直接使用link_to_remote函数完成此操作,但这只会使您的视图与代码或控制器中的update_page变得混乱,但这很难看。rjs允许您编写更清晰易懂的代码,这些代码与任何javascript库分离(因为有像jrails这样的东西,或者您可以自己重写Rails的方法)。
如果您的应用程序有一个非常复杂的javascript函数,那么您最好自己编写javascript,因为在这一点上,您将不想依赖Rails提供的抽象。
发布于 2009-12-20 14:15:15
关于RJS,我假设您指的是RJS模板。整个概念是生成将在浏览器的JS eval函数中作为AJAX返回值运行的JavaScript。你到底是如何“被它所能做的事情所束缚”的?您可以通过多种方式在RJS文件中混合使用Ruby和JS,而且它并不比其他ERB类型格式更具限制性。这是一种非常强大的方法,可以使AJAX调用不仅仅更新单个<div> (它们甚至可以更新两个<div>)。
我有一种感觉,你是真的想问一下关于使用JavaScript/Prototype/Scriptaculous的问题。是真地吗?
https://stackoverflow.com/questions/1934853
复制相似问题