Tag: dependency injection

在rails上使用angularjs和ruby时出现未知的提供程序电子提供程序错误

我有一个Rails / AngularJS应用程序,可以在本地开发环境中正常工作。 但是,当我将此应用程序部署到Amazon Cloud时,AngularJS会在浏览器控制台中返回此错误: Unknown provider: eProvider <- e 但它在开发环境中工作正常。 我从我的一个javascript文件访问以下服务..例如: – userList. storeActorListWithId() 我的服务如下: – woi.service(‘userList’,[‘$rootScope’, ‘userAPI’ , ‘recoAPI’, function($rootScope, userAPI, recoAPI){ var actorList = []; var actorId = “”; return{ storeActorListWithId: function(data){ actorList = []; angular.forEach(data,function(actor){ if(actor.castname) { actorList.push({name: actor.castname,id: actor.castid}); } }) } , getActorListWithId: function(){ return actorList; }, storeActorId: function(id){ […]

“Ruby方式”(mixins和类重新开放)与dependency injection

在研究mixins与dependency injection时,我经常听到“Ruby方式”这个短语。 开发人员通常会说些什么 Ruby允许您重新打开类并重新定义方法意味着您可以在测试时轻松地将新引用“注入”代码中。 (见http://weblog.jamisbuck.org/2007/7/29/net-ssh-revisited#6 ) 但测试不是我主要考虑的问题; 我担心的是课堂重用。 我想要可以在多个企业级Rails应用程序中重用的类。 那么REUSING类会发生什么? 使用mixins和重新打开类似乎并没有提供一种方法来编写类,使它们与特定于应用程序的细节分离,而无需额外的工作。 但也许我错了。 如果我是,有人可以提供一个链接到包含示例代码的文章,该文章清楚地解释了如何使用mixins和重新打开类正确地完成此操作吗? 例如,这里的类Foo耦合到类Logger: class Foo def initialize @logger = new_logger end def new_logger Logger.new end end 是的,我可以重新打开Foo并重新定义new_logger,但我无法相信这被认为是编写可由多个Rails应用程序使用的可重用类的现实标准方法。

Rubydependency injection库

我一直在寻找一些Rubydependency injection库。 特别是,我检查了Needle和Copland 。 他们已经存在了很长一段时间,但并没有很多用法。 使用这两个库有哪些优点和缺点? 看起来好像很多库/框架都可以很好地利用这两个库,例如Merb / Datamapper的Hook 。