2015-03-20 4 views
1

Я сделал совсем немного поиска и тестирования на то, что я чувствую, должно быть довольно просто, тем более, что она работает на других маршрутах:pathFor возвращение пустой HREF

<a href="{{ pathFor 'categoryList' }}">{{post.category}}</a> 

Вот маршрут Железный маршрутизатор:

Router.route("/category/:category", function() { 
this.render("categoryList", { 
    waitOn: function() { 
     return Meteor.subscribe("posts"); 
    }, 
    data: function() { 
     Session.set("categoryName", this.params.category); 
     return { 
      posts: Posts.find({category: this.params.category}) 
     } 
    } 
}); 
}, { 
    name: 'categoryList' 
}); 

Когда я загружаю сообщение с помощью этого HTML/Spacebars, href пуст. Я пробовал объявлять имя для маршрута, и он просто пуст. Мне что-то не хватает?

Спасибо, Paul

+0

Во-первых, вам нужно назвать свой маршрут таким образом, чтобы pathFor мог знать, что вы хотите, а во-вторых, вам необходимо передать параметр, который будет работать как: категория. Все в руководстве – Sindis

+1

в соответствии с руководством, железный маршрутизатор попытается угадать имя, и в этом смысле кажется, что предположение должно быть правильным, так как созданный шаблон является тем же именем, что и ссылка на путь в шаблоне. В любом случае, результат будет таким же, если я объявлю имя, как вы можете видеть в приведенном выше правиле: empty href – PaulIsLoud

+0

Вы забыли о второй части, ваш маршрут имеет переменную: categroy, которую вы не определили нигде – Sindis

ответ

1

Вам необходимо включить параметр для маршрута в pathFor.

<a href="{{ pathFor 'categoryList' category=post.category}}">{{post.category}}</a> 

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

  • Нет связанных вопросов^_^