我目前正在参与制作我的第一个严肃的 Web 应用程序。在过去的几个月里,我一直在疯狂地研究网络,包括 stackoverflow,研究了许多不同的技术。HTML、CSS、Javascript、backbone.js、ruby、rails 等。我对所有这些技术仍然很陌生,但不知何故设法创建了我的 javascript 驱动的用户界面的第一个版本。
基本上,我正在为音乐学校制作一个日程安排应用程序,允许用户查看教师每周的日程安排,并在开放时段申请课程。我首先使用 Backbone.js 构建了 javascript 界面,该界面由一个表格组成,其中显示已安排的课程、开放的时段以及关闭日期等内容。
这个表“视图”有一个名为 Schedule 的 Backbone Collection 作为输入,model = Lesson,并且有元数据 startDate 和 endDate。在这个集合的渲染函数中,整个表格是根据里面的课程构建的。
我希望这个应用程序是“单页”的,就像桌面应用程序一样,所以没有页面加载。为此,我想通过请求 JSON 格式的所有信息来构建这个 Schedule Collection。对服务器的“查询”应包含教师 ID 以及开始和结束日期。然后,服务器应该以 JSON 格式将所有课程传递给我,然后我将用它制作一个集合,然后渲染它以制作整个表格。
所以我想我知道我希望一切看起来如何,但不知道如何在实践中真正做到:
在服务器端,我将使用 Ruby On Rails。在过去的几天里,我学习了如何使用脚手架方法制作基本的 RESTful Web 服务,但我将如何在 Ruby On Rails 中进行操作,接收这些参数,如 TeacherID 和 start 和 endTime?如何将这些传递到服务器并让 Rails 查询数据库并将生成的课程呈现为 JSON?
在客户端构建它的最佳方法是什么?我应该使用 Schedule Collection 上的 Backbone.sync 方法来加载所有这些数据吗?我想我应该用调用这个 RoR 服务来覆盖 Schedule.sync 方法?Backbone 是否提供任何方法来使用必要的参数调用上述服务?我可以以某种方式将其解析到 Schedule Collection 中吗?
请原谅我提出非常广泛的问题,但我迷失在所有隐藏大量逻辑的技术中(我来自 Java 背景,我正在用更底层的步骤构建所有东西)但任何帮助或指导都是非常感激!
西蒙