在Backbone.js中将创建视图嵌套在show视图中

时间:2012-01-09 16:06:08

标签: javascript ruby-on-rails views backbone.js underscore.js

好吧,所以我对骨干来说是全新的,无法在任何地方找到我的问题的答案。 我使用backbone-rails所以我正在使用jst模板系统。我有两个模型,其中一个模型,比如ModelA可以有多个ModelB,但ModelB只能有一个ModelA(HasMany关系)。

我想要实现的是我有一个网页的左侧和右侧部分,其中左侧页面始终列出ModelA,索引视图如此说,右侧部分显示当前选定的ModelA左侧显示视图。右边的部分还列出了ModelB,并显示了一个表单,用于创建ModelB对所选ModelA的所有操作。

 --------------------------------------
|___ModelA list__|  ModelA - 2 details |
|_______1________|                     |
|///////2////////|     ModelB Form     |
|_______3________|                     |
|_______4________|_____ModelB List_____|
|_______5________|__________1__________|
|_______6________|__________2__________|
|_______7________|__________3__________|
|_______8________|__________4__________|

ModelB List仅显示属于具有id 2

的ModelA的ModelB对象

所以,我已经向ModelA添加了类似的内容

initialize: function() {
  this.modelbs = new Appname.Collections.ModelBCollection(this.get("modelbs"));
  this.modelbs.url = this.url() + "/modelbs";
}

并通过添加

解决了左侧空间中ModelA的列表
  

this.index()

在所有路由器操作中(例如show)

所以这个价值1亿美元的问题是,A)如何从ModelA中的show动作调用路由器动作,比如ModelB中的视图?和B)如何在ModelA详细信息部分(显示操作)中呈现ModelB的表单,并将关系添加到ModelA,并让ModelB视图处理保存。

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找的是子视图。

您可能对此感兴趣:http://ricostacruz.com/backbone-patterns/#sub_views