【问题标题】:Migrating from rails app to backbone.marionette app从 rails 应用程序迁移到骨干网.marionette 应用程序
【发布时间】:2013-10-10 12:18:41
【问题描述】:

我是backbone.marionette 的新手。我阅读了一些指南,但对其中的 MVC 结构是如何实现的了解不够。

在 Rails 中,我的结构如下:

app/
  assets/
  controllers/
  models/
  views/
config/
  environmrnts/
    development.rb
    staging.rb
    production.rb
  routs.rb
log/

我的视图/js 文件正在向控制器发送数据(在更新/创建等期间),并从中获取数据。控制器使用带有net/https 的 Api 类(所有模型都继承自它)向另一个 Rails 应用程序中的模型发送请求。

我的问题是:

1.如何实现与backbone.marionette中其他应用的连接?

2. mvc的思路和rails中的思路一样吗?控制器在木偶中的实际作用是什么?

3. 我的应用结构应该是什么样的?

4.我应该在哪里存储配置参数?

【问题讨论】:

    标签: ruby-on-rails model-view-controller backbone.js marionette migrating


    【解决方案1】:
    1. 它通过您在 Rails 应用程序中定义的 API。每个 Backbone 模型都将定义一个 url 属性来指示其数据的存储位置。然后 Backbone 会处理剩下的事情(例如,向 API 发送 POST 请求以在数据库中创建一个新的模型实例)
    2. 想法相似,但又不一样。在 Backbone 中,控制器和模型的行为主要与 Rails 应用程序中的一样。集合是一组模型,您可以使用它们来简化您的应用程序(例如,显示用户列表)。模板有点像 Rails 中的视图:它们定义将生成的 HTML 标记。 Backbone 中的视图非常不同:它们对环境做出反应(例如用户点击、数据修改)并驱动应用程序的行为。这在 Rails 应用程序中不会发生,因为页面会被渲染并返回:没有交互(每次用户点击都会使服务器生成一个新页面并将其发送给用户)。
    3. 视情况而定。有很多有效的方法,你可以在这里看到一个:https://github.com/davidsulc/marionette-gentle-introduction
    4. 这取决于 :-) 很多时候,您会在一个简单的 javascript 对象中处理它们。

    如果您想在学习开发 JavaScript 应用的过程中获得一些指导,请查看以下内容:

    您可以在此处查看使用 API 连接到不同服务的示例:http://www.backbonerails.com/screencasts/loading-views 从 6:00 开始。 url 属性是在 9:40 定义的,但请注意,这种情况要求每个集合实例的 url 都不同,在您的情况下可能不是这样。如果所有集合实例都具有相同的 url,您只需将其定义为集合“类”的属性。

    【讨论】:

    • 您有从 API 获取数据到 Marionette 应用程序的示例吗?
    • 我得到一个带有 url 属性的对象,而不是我的数据(API 发送了数据)
    • 看看backbonerails.com/series/engineering_single_page_apps 前 3 个(免费)的屏幕投射应该会让你继续前进。
    • 谢谢。但它不是在谈论使用 url 属性在另一个应用程序中与 db 的连接。
    • 我已使用远程 API 服务更新了我的答案,其中包含指向截屏视频的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多