【发布时间】:2011-03-06 18:50:33
【问题描述】:
我目前正在尝试使用 Backbone.js 和 Rails 应用程序。我的问题是,我不知道如何使用我的 rails 应用程序实现 Backbone 控制器和视图。我已经阅读了很多教程,但它们总是只在backbone.js 中使用一个控制器。
例如,我在 rails 中有两个控制器。
- 活动控制器
- 包括两个视图,一个谷歌地图和一个搜索字段。谷歌地图插入了主干视图,搜索字段采用 HTML 格式,并通过主干视图获取其功能。
- 搜索字段应该从我的 rails 模型中获取数据并在地图内显示标记。
另一个是
- 用户控制器
- 这里查看了用户个人资料,我想添加一些 ajax 功能,例如更新值和其他内容
在我的 application.js 中,我使用启动应用程序
var App = {
Views: {},
Controllers: {},
Collections: {},
init: function() {
new App.Controllers.Activities();
new App.Controllers.Users();
Backbone.history.start();
}
};
$(function() {
App.init();
});
问题是,我不需要我的用户配置文件中的活动控制器和 Rails 活动控制器中的用户控制器。我怎么能解决这个问题?我是否应该尝试在 javascript 中读取当前 URL,然后决定使用哪个控制器? 还是我应该把 JavaScript 文件放到 application.html.erb 中,然后在这里决定应该使用哪个控制器?
或者这是使用backbone.js控制器的错误方式?
我对backbone.js 的结构有什么误解吗?还是我以错误的方式使用控制器?
另一个问题是,如何通过 Backbone.js 添加少量 JavaScript,尤其是 jQuery 功能?例如,当用户单击该字段时,我想删除字段内的标签。或者我想做一些选项卡功能,只是切换某些元素的可见性。 我应该为每个使用 javascript 的元素创建一个 Backbone 视图吗?或者这是过载?
希望我说清楚了,任何人都可以提供帮助, 谢谢!
【问题讨论】: