样式化和将Backbone连接到Ruby服务器

时间:2014-03-01 18:13:12

标签: javascript jquery ruby-on-rails twitter-bootstrap backbone.js

所以我一直在Backbone,Sass,RoR,Bootstrap等方面做了很多学习,我非常沮丧,我发现没有任何来源(包括Tuts +和Code School)提到它的任何方式一起......如果页面中我想要的所有内容都是通过骨干网构建的话,我不知道如何设置网页样式...所以如果我想点击网站上的“关于”页面,当附加到DOM时,所有页面的Backbone内容都被正确设置。

其次,我不确定如何为网站创建这些网页;我应该在Backbone中创建整个页面,然后将其保留在服务器上,直到有人点击,例如,“关于”页面,然后将整个页面加载到视图中?或者我完全误解了你可以使用Backbone的方法之一?与此同时,我应该如何将Backbone与Ruby服务器进行通信?只是使用Ajax?

我正在寻找消息来源和任何可以帮助我明确理解这些内容的人!

非常感谢,

-Stu。

2 个答案:

答案 0 :(得分:1)

假设您要构建单个页面应用程序,了解每个职责非常重要:

的Rails

  • 创建在服务器上运行的完整堆栈应用程序
  • 创建耗材API
  • 管理资产管道
  • ...

骨干

  • 管理您的前端javascript应用程序
  • 使用模型
  • 从视图中分离数据
  • 通过RESTful JSON接口连接API
  • ...

请记住,这是对两者的过度简化......

Rails将处理后端,检索Backbone要使用的 API 。 Rails 资产管道将提供Backbone所需的所有文件,包括将为您设置样式的css。

可能会有点混乱,因为你会听到最终会在它们之间发生冲突的概念,比如两端会有模型视图路由器,但他们将彼此独立生活,一个将在服务器端(Rails),另一个在客户端(Backbone)

举个例子:

Rails会呈现:

domain
|-index.html
|-js/*.js
|-css/*.css
`-api/*.json

Backbone将使用DOM(index.html)和js脚本来执行逻辑,通过API使用ajax将视图附加到DOM和读/写数据。

另一个令人困惑的事情是视图,因为Rails会为你生成那些,而且主干也会有自己的视图,所以通常的设置:

在客户端,Backbone将至少包含以下部分:

  • 路由器 - 它将编排您的应用程序,将事件绑定到路径,让我们说/#about页面并创建一个视图并传递相应的模型:
    • 模型 - 它将从API请求数据并在完成后分派事件
    • 查看 - 它将使用模板呈现模型数据

在这种情况下,Rails将管理页面资产并提供API,Backbone将拥有自己的路由器,模型,视图和模板,以在客户端呈现页面。

这也意味着你将它们结合起来的方式只能回答项目的具体情况,并且有很多方法可以同时使用它们。

那就是说,恕我直言,首先要了解一个完整的Backbone应用是如何工作的, 然后使用像backbone-rails gem这样的东西,看看如何以一致的方式管理它们。

答案 1 :(得分:0)

我知道你的意思 - 有很多关于Backbone的随机教程,但并没有很多将它们整合在一起。不幸的是,在某种程度上,它就是这样,但是一旦你过去从Code School和其他人那里学习基础知识,那么实际构建复杂应用程序的最佳资源就是:

BackboneRails:http://www.backbonerails.com/

它涵盖了您正在谈论的堆栈。前几个截屏视频是免费的,然后是后续的截屏,但非常值得。基于我从BackboneRails学到的技能,我已经构建了几个相当复杂的应用程序,结果很棒。祝你好运!