angular-activerecord icon indicating copy to clipboard operation
angular-activerecord copied to clipboard

Add single-loaded(from server) relations declaration using `$relations` property

Open ajcastro opened this issue 9 years ago • 10 comments

Please see the Defining Relations section in the README.md of my fork. Thanks! :)

PS: This has no automated test but I tested it manually.

ajcastro avatar Jun 23 '16 03:06 ajcastro

Woah, why did the build break?

ajcastro avatar Jun 23 '16 03:06 ajcastro

Previous Travis-CI build was 8 months ago, I've updated the configs and dependencies. if you'd git rebase it probably fixes this build too.

bfanger avatar Jun 23 '16 07:06 bfanger

Im sorry but Im not sure how to do that git rebase. I didn't get how to solve the problem.

ajcastro avatar Jun 27 '16 08:06 ajcastro

git remote add upstream https://github.com/bfanger/angular-activerecord.git
git pull --rebase upstream master
# check if the patch still works after the rebase
git push -f origin master

For more detailed information: stackoverflow.com/How do I clean up my Github fork so I can make clean pull requests?

bfanger avatar Jun 28 '16 13:06 bfanger

I like the simplicity of your implementation of relations (just mapping the objects to classes), but managing relations is a feature that can become complex really fast.

Could you write the relation feature as a separate optional js file? like a plugin?

var initialize = ActiveRecord.prototype.$initialize;
ActiveRecord.prototype.$initialize = function $initialize(properties, options) {
    initialize.apply(this, arguments);
    ... relation code here ...
}

That way ActiveRecord matches Backbone.Model and people can opt-in to your implementation of use their own.

bfanger avatar Jun 28 '16 14:06 bfanger

Sorry for the late reply, I was busy this past few days. Btw, thanks for the compliment and instructions. I will do it shortly.

ajcastro avatar Jul 07 '16 05:07 ajcastro

I am puzzled how to do put it in a separate optional js file. Maybe you can help me. Currently I'm still googling how to do that.

ajcastro avatar Jul 07 '16 06:07 ajcastro

Aha! I think I had to create another factory, which of course has a different name e.g. ActiveRecord.Slr, and it has a dependency on ActiveRecord. Slr means single-loaded-relations.

ajcastro avatar Jul 07 '16 06:07 ajcastro

I need help on this, I don't know yet how to fix this. I am still a newbie in karma/angular js unit testing. https://travis-ci.org/ajcastro/angular-activerecord/builds/142970284

I already pushed my code in branch activerecord-slr in my fork. Thanks :)

ajcastro avatar Jul 07 '16 07:07 ajcastro

Thanks I'll try to merge it when I've got some free time

bfanger avatar Jul 07 '16 16:07 bfanger