2015-07-07 1 views
0

Я застрял в понимании маршрутов Метеор и потока данных.Метеор Маршрутизация и последующий заказ данных

В начале это было простое приложение для блога с 1 коллекцией с именем Posts.

Теперь я хочу сохранить историю изменений, поэтому я создал вторую коллекцию и назвал ее History.

На каждое редактирование в Posts Я добавляю состояние сообщения (автора, контента и т. Д.) В History, включая идентификатор отредактированного сообщения.

Вопрос в том, как я должен настроить маршрутизатор Iron, чтобы сделать его передать текущий идентификатор сообщения в posts/:_id/history от предыдущего состояния (posts/:_id/) и получить записи из History с этим согласующего ID?

ответ

1

Без просмотра кода сложно сказать, что вы уже пробовали. Но для того, чтобы помочь вам понять Метеор маршруты, возможно, вы могли бы взглянуть на эти две ссылки:

Это должно помочь вам понять, как сделать две коллекции работать вместе.

+0

Это должны прочитать статьи, thx для ссылок –

+0

Нет проблем! Не забудьте нажать зеленую метку, чтобы принять ответ, если было полезно – 2016rshah

2

Чтобы передать идентификатор от одного вида к другому, вы можете сделать это с помощью шаблона, как так:

<a href="/posts/1/history>Post History</a> 

или

<a href="/posts/{{_id}}/history>Post History</a> 

или программным образом:

Router.go('postHistory', {_id: 1}); 

Чтобы получить записи истории, вы можете разрешить данные в железном маршрутизаторе во время запроса маршрута так:

this.route('postHistory', { 
    path: '/posts/:_id/history', 
    data: function() { 
    return History.findOne({postId: this.params._id}); 
    } 
}); 
+0

У меня был тот же код, но он просто возвращает все. На что указывает этот.params._id? И знаете ли вы, как проверить текущий «этот» идентификатор документа на открытой странице в консоли браузера (например, Collection.find (это. ??)? –

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