从rails app迁移到backbone.marionette应用程序

时间:2013-10-10 12:18:42

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

我是backbone.marionette的新人。我阅读了一些指南,但还不太了解MVC结构是如何在那里实现的。

在rails中,我有这样的结构:

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

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

我的问题是:

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

2。 mvc的想法是否与rails相同?控制器实际上在木偶上做了什么?

3。我的应用结构应该如何?

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

1 个答案:

答案 0 :(得分:1)

  1. 它通过您在Rails应用程序中定义的API。每个Backbone模型都将定义一个url属性,以指示其数据的存储位置。然后Backbone将负责其余的工作(例如向API发送POST请求以在数据库中创建新的模型实例)
  2. 这个想法很相似,但不一样。在Backbone中,控制器和模型的行为与Rails应用程序中的一样。收藏集是您使用的一组模型,可以让您的应用更轻松(例如,显示用户列表)。模板有点像Rails中的视图:它们定义将生成的HTML标记。 Backbone中的视图非常不同:它们对环境做出反应(例如用户点击,数据修改)并驱动应用程序的行为。在Rails应用程序中不会发生这种情况,因为页面会被呈现并发回:没有任何操作(eacch用户单击将使服务器生成新页面并将其发送给用户)。
  3. 这取决于。有许多有效的方法,你可以在这里看到一个:https://github.com/davidsulc/marionette-gentle-introduction
  4. 这取决于:-)很多时候,你会用一个简单的javascript对象来攻击它们。
  5. 如果您想在旅程中学习如何开发javascript应用程序,请查看以下内容:

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