【发布时间】:2013-09-19 19:50:34
【问题描述】:
我有一个 Backbone on Rails 应用程序,其中包含 task_list 和 project 模型。任务列表有一个 project_id 列,它引用它所属的项目。
在 Rails 中,我为任务列表设置的路由如下:
POST /projects/:project_id/task_lists task_lists#create
PUT /task_lists/:id(.:format) task_lists#update
DELETE /task_lists/:id(.:format) task_lists#destroy
在创建任务列表后,我在 Backbone 中所做的是实例化任务列表,在 Rails 中设置 task_lists#create 路由的 url,然后将其保存到服务器:
taskList = new App.Models.TaskLists(data);
taskList.url = "/projects/" + current_project_id + "/task_lists";
taskList.save();
当我需要更新或删除任务列表时,我会执行上述操作,只是将 url 设置为"task_lists/" + this.id。
我如何在 Backbone 中设置我的 models/taskList.js 文件,而无需在每次需要对任务列表进行 CRUD 时指定 URL?我知道我必须使用自定义函数url: function () {...},但Backbone 在将数据传回Rails 服务器时似乎使用model.url 而不是model.url()。
【问题讨论】:
标签: ruby-on-rails backbone.js ruby-on-rails-3.2 routes