diff --git a/lib/include.js b/lib/include.js index e044f062..4060e55e 100644 --- a/lib/include.js +++ b/lib/include.js @@ -119,9 +119,8 @@ Inclusion.include = function (objects, include, cb) { } } var inst = (obj instanceof self) ? obj : new self(obj); - var relationMethod = inst[relationName]; - // FIXME: [rfeng] How do we pass in the refresh flag? - relationMethod(function (err, result) { + // Calling the relation method on the instance + inst[relationName](function (err, result) { if (err) { return callback(err); } else { diff --git a/lib/relations.js b/lib/relations.js index 3b4a05a7..37ec06a9 100644 --- a/lib/relations.js +++ b/lib/relations.js @@ -340,10 +340,13 @@ Relation.belongsTo = function (anotherClass, params) { // Define a property for the scope so that we have 'this' for the scoped methods Object.defineProperty(this.prototype, methodName, { - enumerable: false, + enumerable: true, configurable: true, 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/// // For example, /api/orders/1/customer fn.shared = true;