2014-11-02 4 views
2

Позвольте мне сначала сказать, что я уже поставил сообщение на их вопрос борту here.Iron Router 1.0 вопрос о подписке

С момента обновления до 1.0.0 все мои подписки фактически не ударяют мои публикации.

В маршрутизаторе, у меня есть

# Projects home page 
Router.route "/projects", (-> 
    waitOn: -> 
    Meteor.subscribe("projects") 
    action: -> 
    @render 
    @render "projectsHome" 
), 
    name: "projectsHome" 

Тогда на моем сервере я имею

# Publish the Projects to the user 
Meteor.publish 'projects',() -> 
    console.log "Getting projects" 
    Projects.find({}) 

Я не знаю, если я не делаю это правильно, но сервер никогда на самом деле вход Getting projects

Теперь, после загрузки страницы с помощью этого кода, я запускаю Meteor.subscribe("projects") в консоли браузера, и все мои данные отображаются, и сервер регистрирует правильные лиги северо-восток

ответ

1

Вашего синтаксис CS выглядит неработающим, попробуйте с этим простым примером:

Router.route '/projects', 
    name: 'projectsHome' 
    waitOn: -> 
    Meteor.subscribe 'projects' 

Вот ряд вопросов, которые могут быть причиной вашей проблемы:

  • Обертывания второго аргумента маршрутизатора .route в круглых скобках бессмысленна, и этот аргумент не должен быть функцией в первую очередь.
  • вызов render в вашем переопределении действия бесполезен: действие по умолчанию уже выполняет ваш шаблон.
  • Остерегайтесь вашего отступов CS, линия @render "projectsHome" выглядит очень сломанной в этом отношении.
+0

К сожалению, при попытке этого. Я просто получаю ошибки, которые говорят: «pathFor не смог найти маршрут с именем« projectsHome ». Способ, которым я его настроил, был взят из [здесь] (https://github.com/EventedMind/iron-router/blob/devel/Guide.md#named-routes) – Scalahansolo

+0

Пожалуйста, напишите больше кода и учтите для 'pathFor' новый синтаксис, который принимает именованные параметры. – saimeunt