SailsJS从控制器访问服务

时间:2014-07-04 00:10:49

标签: javascript node.js sails.js

我正在尝试在sailsjs中创建一个服务,这样我就可以从多个控制器中访问一些业务逻辑了,我偶然发现了一些问题......这个服务是一个行动日志&#39 ;我希望通过模型将有关特定api调用的数据记录到数据库中。

我的文件结构:

api/services/actionService.js - the service to receive data from controller and log to model
api/models/Action.js - functioning model to store logged actions
api/controllers/ActionController.js - functioning controller to respond to get requests for the action model
api/controllers/AnotherController.js - I wish to access the actionService from here to input data
  1. 我不确定如何从AnotherController.js引用该服务;根据{{​​3}},我应该可以致电ActionService(data)但我收到ActionService is not defined错误。在控制器中加载此依赖项是否需要做些什么?

  2. 我能从服务中引用模型吗?目前我在服务中有Action.create(action)...之类的东西。这还没有引起问题,因为我还没有通过第一个问题,但想知道我是否还需要将其作为服务中的依赖项加载?

  3. 我很高兴在sailsjs中实施服务,我们非常感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用以下语法在任何控制器中访问您的服务:

<yourServicefilename>.method();

在您的情况下,它将是actionService.<yourMethodName>()