所以我在Backbone、Sass、RoR、Bootstrap等上做了很多学习,我非常沮丧,因为我没有找到任何来源(包括Tuts+和Code School)提到任何将其整合在一起的方法。。。如果页面中所有我想要的内容都是通过主干网构建的,我不知道如何设计网页的样式。。。因此,如果我想点击网站上的"关于"页面,请在将该页面的所有主干内容附加到DOM时使其样式正确。
其次,我不确定我应该如何为一个网站创建这些网页;我应该在Backbone中创建整个页面,然后将其保留在服务器上,直到有人点击,例如"关于"页面,然后把整个页面加载到视图中吗?还是我完全误解了使用Backbone的方法之一?除此之外,我应该如何将Backbone与Ruby服务器进行通信?仅仅使用Ajax?
我正在寻找消息来源和任何能帮助我明确理解这些东西的人!
非常感谢
-斯图。
假设您想要构建一个单一页面的应用程序,了解每个应用程序的职责是很重要的:
轨道
- 创建一个在服务器上运行的全栈应用程序
- 创建消耗品API
- 管理资产管道
主干
- 管理前端javascript应用程序
- 使用模型将数据从视图中解耦
- 通过RESTful JSON接口连接API
请记住,这是对两者的过度简化。。。
Rails将处理后端,检索一个API供Backbone使用。Rails资产管道将提供Backbone所需的所有文件,包括将为您的应用程序设计样式的css。
这可能会让人感到困惑,因为你会听到一些概念最终会在它们之间发生冲突,比如两端都有模型、视图和路由器,但它们将独立生活,一个在服务器端(Rails)上工作,另一个在客户端(Backbone)
举个例子:
Rails将渲染:
domain
|-index.html
|-js/*.js
|-css/*.css
`-api/*.json
Backbone将使用DOM(index.html)和js脚本来执行逻辑,将视图附加到DOM中,并通过API使用ajax读取/写入数据。
另一件令人困惑的事情是视图,因为Rails会为您生成这些视图,而主干网也会有自己的视图,所以通常的设置是:
在客户端,主干网将至少有以下部分:
- 路由器--它将编排您的应用程序,将事件绑定为路由,比如
/#about
页面,并创建一个视图并传递相应的模型:- 模型-它将从API请求数据,并在完成后调度事件
- 视图--它将使用模板来呈现模型数据
在这种情况下,Rails将管理页面资产并提供API,Backbone将拥有自己的路由器、模型、视图和模板来在客户端呈现页面。
这也意味着,你将两者结合在一起的方式只能根据项目的具体情况来回答,而且有很多方法可以同时使用两者。
也就是说,IMHO首先了解完整的Backbone应用程序是如何工作的非常重要,然后使用主干rails-gem之类的东西,看看如何以一致的方式管理两者。
我知道你的意思——有很多关于Backbone的随机教程,但没有太多把它们放在一起。不幸的是,在某种程度上就是这样,但我想说,一旦你从代码学校和其他人那里学习了基础知识,那么如何真正构建复杂应用程序的最佳资源就是:
骨架导轨:http://www.backbonerails.com/
它涵盖了你谈论的大部分内容。前几次放映是免费的,随后的放映是付费的,但非常值得。在我从BackboneRails学到的技能的基础上,我构建了几个相当复杂的应用程序,结果很好。祝你好运