使用 Sails.js 我怎样才能使 /users/me 与关联一起工作的路线?

With Sails.js how can I make /users/me a route that works with associations?

我有一个主模型 Accounts,然后我有几个 Has Many 模型,例如 NotificationsFriends

在我的main.js

我希望能够做如下事情:

socket.get('/users/me/notifications');

而不是喜欢:

socket.get('/users/ + g_userAccountId + '/notifications');

^^ 目前有效,但它是异步设置的,因此如果在设置 g_userAccountId 之前加载任何代码,它将尝试使用 undefined 代替,这很糟糕......非常糟糕。 .

我了解政策和所有这些,我只是想知道如何使用 REST 蓝图来完成这项工作,而不是什么。如果我不清楚请告诉我

有没有办法不在每个控制器中设置 findOne 方法就可以做到这一点?喜欢用1

自动填/me/

如果不在每个控制器中设置 findOne 方法,我能想到的最简单的方法是创建一个匹配 /users/me/notifications 路由的策略,将其重定向到当前会话的用户 ID。您可能会使用如下内容,并更新 /config/policy 文件。

if (session.authenticated) {
    return res.redirect('/users/' + req.session.user.id + '/notifications');
}

如果你想在 /users/me 路由被命中时做一些处理,你可以修改这个策略,调整 req.url 并重定向到使用用户 ID 的新策略,并且将其应用于策略配置文件中的所有相关路由,或设置一个 custom middleware 以同样的方式处理问题。