使用Rails的Javascript框架

17
希望有人能帮我澄清一些事情。
我已经阅读了大量关于新的JavaScript应用程序框架,例如backbone.js、batman.js、ember.js等等的文章...
我看到很多实例是在Rails之上使用这些框架。
有人能解释一下吗?这难道不需要大量的重复吗?也就是说,我需要完全复制每个模型和控制器吗?如果是这样,我需要每次都对两者进行更改吗?
我认为在浏览器上呈现模板非常有益,但是当使用这些模板在一个已经组织良好的MVC结构之上时,我感觉自己错过了一些重要的东西。
这有什么好处,而且是否真的有那么多重复?
我已经看过这里的问题。
但它似乎没有涉及到重复的问题。
提前致谢。

2
我和 OP 看法相同。Rails 的构建方式,缺少的乐高积木是在资产队列中添加一些中间件,根据惯例提供基于模型、控制器和视图的 JavaScript 等效物,这正是 Rails 的核心原则。此外还需要一些机制,在必要时可以覆盖其中任何内容。我真的不认为维护和同步 rb 模型和非常相似的 JavaScript 代码有什么意思。这种所需的功能如此明显,以至于我确信会有人想出一个好的解决方案。在那之前,我会坐等并监视情况 :) - Jan
1个回答

9
您链接的问题中已经描述了这些好处。当客户端不仅仅是显示数据并使用AJAX重新加载视图的部分时,它们提供了难以实现的结构。
Andrew Dupont在MIX 11上做了一个关于编写可维护JavaScript的演讲。他描述了他从一堆烂代码到更易于维护的代码库的旅程。这值得一看。
重复取决于您在服务器端执行多少操作。如果您的服务器只提供数据,例如Rails控制器提供JSON API来访问模型,则必须在客户端上复制模型。
我只使用Rails来进行JSON访问以保存应用程序的实体,除了一些JSON视图。整个用户交互和CRUD都在客户端使用Backbone&jQuery完成。
到目前为止,我只需要在JavaScript中复制模型,并创建一些控制器来访问和保存服务器上的模型。

谢谢您的回复,wieczo。在典型的CRUD情况下,我需要进一步了解您在Rails控制器和Backbone控制器中使用的程度。 - Adam

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