Iron Routerを使用しています。Metitor SubscriptionはWaitOnにもかかわらず更新されません
var loggedInUserController = RouteController.extend({
layoutTemplate: "GenericLayout",
waitOn: function() {
return Meteor.subscribe("TheDataINeed");
}
});
そして私は「TheDataINeed」を待つために、このコントローラーを使用して定義されたルートを持っている:私はこのようになりますことRouterControllerを持って
Router.route("/myapp", {
name: "Landing",
controller: loggedInUserController,
data: function() {
if(this.ready()){
return {content: "page-landing"};
}
}
});
さて、問題は、データである私は、加入していますが、条件付きである:ユーザーの役割に応じて、意味、私はそうのような、さまざまなデータを公開:
if (!Roles.userIsInRole(this.userId, 'subscribed')) {
return [
myData.getElements({}, { fields: { _id: 1, title: 1}, limit: 5 })
];
} else {
return [
myData.getElements({}, { fields: { _id: 1, title: 1} })
];
}
ユーザーの役割が「購読」されていない場合は、私が公開されたデータtを制限しますo 5要素。
公開は反応的ではないため、ユーザーが最初に自分の役割を「購読」に変更して自分のルート(「/ myapp」)に移動すると、ユーザーは限られた数の要素しか表示されませんそれらのすべての。
このルートを読み込んでいるときに手動でサブスクリプションを再トリガする方法はありますか?可能であれば、私は自分のアプリケーションに新しいパッケージを追加しないでこれをしたいと思います。