0

我从 2 个月开始使用 rails 进行 web 编程,最近开始使用 towerjs。

我有一个现有的 rails 3.1 后端,我会使用 towerjs 作为前端。这意味着,rails 具有现有的逻辑和数据库。

我可以在浏览器端使用 towerjs 来获取和设置带有 rails 的数据到数据库中吗?
我现在的想法是启动一个 rails 和 towerjs 服务器,并且都使用 json 进行通信。但我现在不知道如何实现这些!

4

2 回答 2

2

您可以纯粹在客户端使用 Tower.js。

文档 [当前] 非常关注生成像 Rails 一样的应用程序,为您提供 javascript 测试的样板,配置您的服务器和数据库等。但是,您可以只需要underscoretower在浏览器中构建您需要的任何模型客户端,并通过 ajax 存储将它们连接到 Rails 后端。

<script src="/javascripts/vendor/javascripts/underscore.js"></script>
<script src="/javascripts/vendor/javascripts/tower.js"></script>

这里仍然需要文档(以及示例),但它可以作为仅客户端的 MVC。像这样的东西:

class App extends Tower.Application
  @bootstrap: (data) ->
    App.Post.load(data.posts) if data.posts

class App.Post extends Tower.Model
  @field "title"
  @field "body"

以及最初将 JSON 字符串加载到模型中的 HTML 文件

<body>
  <script>
    App.Post.bootstrap(<%= @posts.to_json %>);
  </script>
</body>
于 2012-03-21T10:53:44.860 回答
2

Tower 紧密耦合,可在客户端和服务器上运行代码。

您最好查看诸如骨干网之类的东西,因为它与您的服务器端设置无关。

我目前正在将 Rails 应用程序移植到单页应用程序。经过多次修改后,我决定为客户端选择主干,为服务器选择 node.js/express,并将所有 Rails 模型重构为 ruby​​/grape API。节点服务器使用 awesome request npm 模块代理对葡萄 api 的请求。到目前为止非常高兴。

骨干网:http ://documentcloud.github.com/backbone/

葡萄:https ://github.com/intridea/grape

于 2012-03-21T10:08:28.050 回答