1

Orders コレクションを表示しようとしています。Orders コレクション スキーマには、Items コレクションから取り込まれた選択フィールドがあります。

Orders コレクションを管理者のテンプレートに表示できないようです。Mongol を使用してコレクションに投稿していることを確認しましたが、コンソールにエラーは表示されません。また、運が悪い表形式​​の表に表示しようとしました。

何か案は?私はまだ流星を学んでいて、何時間もこの画面を見つめていました..多分今は新鮮な空気が必要で、後で新鮮な表情が必要です...

/collections/orders.js

Orders = new Mongo.Collection("orders");
    Orders.attachSchema(new SimpleSchema({
      station: {
        type: String,
        label: 'Station',
        max: 2,
      },
      itemselect: {
        type: [String],
        label: 'Items',
        optional: false,
        autoform:{
          type: "select",
          options : function()  {
            return Items.find().map(function (c) {
              return {label: c.name , value: c._id}
            })
          }
        }
      }
    }));

/templates/admin.html

<template name="ordersTable">
  <div class="admin">
    <div class="panel panel-default">
      <div class="panel-heading">
       <h4 class="panel-title">
         <a data-toggle="collapse" href="#collapse2">
           <button type="button" class="btn btn-default navbar-btn">Orders</button>
         </a>
       </h4>
     </div>
     <div id="collapse2" class="panel-collapse collapse">
       <div class="panel-body">
         <ul>
           {{#each orders}}
             <li>{{> station}}</li>
           {{/each}}
         </ul>
       </div>
       <div class="panel-footer">
         {{> addOrderFormAdmin}}
       </div>
     </div>
    </div>
  </div>
</template>

/templates/admin.js <これは私の問題でした..

Template.dashboard.rendered = function() {
  return Orders.find();
};

**ヘルパーである必要があります..したがって、代わりに:

Template.ordersTable.helpers({
  orders: function () {
    return Orders.find();
  }
});

注文フォームを挿入

<template name="addOrderFormAdmin">
  {{> autoformModals}} <!-- this is required for this modal to open -->
    {{#afModal class="btn btn-primary" collection="Orders" operation="insert"}}
      Add New Order
    {{/afModal}}
</template>
4

2 に答える 2

1

コールバック内のコードdashboard renderedは意味がありません。代わりに、テンプレートのヘルパー関数を作成したいと思います:ordersTable

Template.ordersTable.helpers({
  orders: function () {
    return Orders.find();
  }
});

Template.myTemplate.renderedさらに、は Meteor バージョン 1.0.4.2 (およびそれ以降) では非推奨になっていることに注意してくださいTemplate.myTemplate.onRendered。代わりに使用してください。

于 2016-01-13T21:32:33.377 に答える
0

自動発行パッケージを削除した場合は、発行と購読を確認してください。まず、コンソール (コマンド ラインではなく Web ページ) からコレクションにアクセスできるかどうかを確認します。次に、投稿後にコレクションが更新されているかどうかを確認します (これには、サーバーの実行中に「meteor mongo」と入力してコマンド ラインを使用するか、単に Robomongo をダウンロードします)。

于 2016-01-13T20:05:30.257 に答える