有没有办法为can.Model指定基本网址?
我看到服务器路径是这样硬编码的:
Wine = can.Model({
findAll : 'GET //localhost/Cellar-CanJS-Bootstrapped/api/wines',
findOne : 'GET //localhost/Cellar-CanJS-Bootstrapped/api/wines/{id}',
create : 'POST //localhost/Cellar-CanJS-Bootstrapped/api/wines',
update : 'PUT //localhost/Cellar-CanJS-Bootstrapped/api/wines/{id}',
destroy : 'DELETE //localhost/Cellar-CanJS-Bootstrapped/api/wines/{id}'
},{
})
我正在寻找的方法是指定模型的基本URL,以便我可以继续配置我的can.Model是标准方式。
答案 0 :(得分:2)
不幸的是,设置模型基本URL不是内置功能,而是计划用于下一个次要版本。这就是我现在通常这样做的方式:
function getUrl(url, method) {
method = method || 'GET';
return method + ' ' + BASE_URL + '/' + url;
}
Wine = can.Model({
findAll : getUrl('api/wines');
findOne : getUrl('api/wines/{id}'),
create : getUrl('api/wines', 'POST'),
update : getUrl('wines/{id}', 'PUT'),
destroy : getUrl('api/wines/{id}', 'DELETE')
},{
});
getUrl
可以是Model静态方法,也可以位于更好的位置(例如应用程序引导程序)。
答案 1 :(得分:0)
您可以使用resource
属性:
Wine = can.Model.extend({
resource : "//localhost/Cellar-CanJS-Bootstrapped/api/wines",
},{});