Fix the method for belongsTo with correct receiver

This commit is contained in:
Raymond Feng 2014-04-03 20:41:53 -07:00
parent e018efbf43
commit 68d2696248
2 changed files with 7 additions and 5 deletions

View File

@ -119,9 +119,8 @@ Inclusion.include = function (objects, include, cb) {
} }
} }
var inst = (obj instanceof self) ? obj : new self(obj); var inst = (obj instanceof self) ? obj : new self(obj);
var relationMethod = inst[relationName]; // Calling the relation method on the instance
// FIXME: [rfeng] How do we pass in the refresh flag? inst[relationName](function (err, result) {
relationMethod(function (err, result) {
if (err) { if (err) {
return callback(err); return callback(err);
} else { } else {

View File

@ -340,10 +340,13 @@ Relation.belongsTo = function (anotherClass, params) {
// Define a property for the scope so that we have 'this' for the scoped methods // Define a property for the scope so that we have 'this' for the scoped methods
Object.defineProperty(this.prototype, methodName, { Object.defineProperty(this.prototype, methodName, {
enumerable: false, enumerable: true,
configurable: true, configurable: true,
get: function () { get: function () {
var fn = relationMethod.bind(this); var fn = function() {
// Call the relation method on the declaring model instance
return relationMethod.apply(this, arguments);
}
// Set the remoting metadata so that it can be accessed as /api/<model>/<id>/<belongsToRelationName> // Set the remoting metadata so that it can be accessed as /api/<model>/<id>/<belongsToRelationName>
// For example, /api/orders/1/customer // For example, /api/orders/1/customer
fn.shared = true; fn.shared = true;