2015-10-16 3 views
-1
Router.route('/tickets/:sku', 
    { 
     name:'selectedTicket', 
     template:'selectedTicket', 
     waitOn:function() { 

      return Meteor.subscribe('selectedTickets',this.params.sku); 
     }, 
     data:function() 
     { 
      return Ticket.find({sku:this.params.sku}); 
     } 
    }) 

Это код, относящийся к этой конкретной странице моего маршрутизатора страницыMeteor не возвращает данные для одного документа

<template name="selectedTicket"> 

    <div class="container" style="padding-top: 60px"> 
     <div class="row"> 
      <div class="col s12 m6"> 
       <img src="/images/data/{{image}}" class="responsive-img" alt=""/> 
      </div> 
      <div class="col s12 m6"> 
       <h1>{{name}}</h1><p class="lead"><i>{{Host}}</i></p> 
       <p class="lead">{{location}}</p> 

       <div class="row"> 
        <div class="col s12 m6"> 
         <h3>{{money price}}</h3> 
         <hr/> 
         <p> 
          <a href="#" class="btn btn-success" id="add-to-cart"> 
           <i class="mdi mdi-cart"></i> 
           Add To Cart 
          </a> 
         </p> 
        </div> 

       </div> 
      </div> 
     </div> 
    </div> 

</template> 

Это код для моего шаблона.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я выбираю конкретный элемент, он переходит на страницу, предназначенную для отображения информации для этого элемента, но страница выглядит пустым. image for single item image showing all data

+0

да, это делает элементы DOM .... нет ошибок, присутствующих в журнале – lagfvu

+0

браузера Можете ли вы попробовать в функции данных: console.log (Ticket.find ({sku: this.params.sku}). count()) Если он возвращает ноль, вам нужно изменить свой селектор монго. – danSiebes

ответ

1

Поскольку вы не используете {{#each}} или {{#with}} вам нужен маршрут, чтобы непосредственно возвращать данные, а не курсор. Поэтому использовать .findOne() вместо .find()

data:function(){ 
    return Ticket.findOne({sku:this.params.sku}); 
} 
+0

Я знаю, что я должен использовать findOne(), но когда я использую его, метеорит дает мне ошибку ... »Ошибка: функция публикации может возвращать только курсор или массив курсоров». – lagfvu

+0

Не в вашей функции публикации сервер, в вашем * маршруте *! –

+0

Спасибо, это сработало ... – lagfvu

Смежные вопросы