我正在使用带有 Backbone 的标准 Rails 堆栈。按照这里的教程:http ://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example/我得到以下代码:
Models.Users = Backbone.Model.extend({
url: function() {
var base = '/users'
if (this.isNew()) return base + '.json';
else return base + (base.charAt(base.length - 1) == '/' ? '' : '/') + this.id;
}
});
这段代码很好用。
但是,每当我创建一个新模型时,我都会复制并粘贴完全相同的两行代码:
if (this.isNew()) return base + '.json';
else return base + (base.charAt(base.length - 1) == '/' ? '' : '/') + this.id;
我在代码中唯一改变的是基本变量。
这似乎是非常错误的。有没有办法更好地做到这一点?我不应该像这样修改 Backbone 的 url 以使其与 Rails 一起工作吗?有没有更好的方法,这样我就不必一遍又一遍地复制和粘贴同一行代码?