我有鐵路由器和很簡單的酒吧/分。流星出版物不工作
當發佈只是返回一些特定的項目 - 一切工作正常。但是當它在內部執行某些邏輯時(循環通過另一個集合) - 它不起作用(Iron Router的加載模板會一直顯示,並且看起來沒有數據通過此發佈中的DDP發佈)。
酒館代碼:
Meteor.publish('ordersWithState', function(orderState) {
// if uncommented, this line works just fine
//return Orders.find({name:"C02336"});
var temp = Workflows.findOne({name:"CustomerOrder"});
if (temp) {
var stateUuid;
_.each(temp.state, function (state) {
if (state.name == orderState) {
return Orders.find({stateUuid: state.uuid});
}
});
}
});
路由器的配置(如果需要):
this.route('ordersList', {
path: '/orders/list/:orderState?',
loadingTemplate: 'loading',
waitOn: function() {
console.log("in ordersList waitOn");
var orderState = this.params.orderState || "Требуется закупка";
return [
Meteor.subscribe('ordersWithState', orderState),
Meteor.subscribe('allSuppliersSub'),
Meteor.subscribe('tempCol'),
Meteor.subscribe('workflows')
];
},
data: function() {
return Orders.find({});
},
onBeforeAction: function (pause) {
this.next();
}
});
你在服務器控制檯上什麼也沒得到?它看起來像你的發佈功能中的錯誤。 – Billybobbonnet
是的,Jeremy指出,pub函數的結構是錯誤的。 – Egor