2015-02-11 69 views
0

我已经看到了如何使用铁传递参数的几个答案:路由器作为第三个参数,例如:href="{{pathFor 'article' _id=this._id }}"流星1.0 - 传递参数到pathFor使用铁:路由器

我想do是通过参数第二个变量(其中'article'在上面的示例中)。

我有一个posts的集合,它包含一个title,一个body和一个type。我正在处理的项目中有三种类型的文章,每种类型都需要路由到不同的模板,因为格式有很大不同。

我希望能够做的是根据类型路由到特定的网址。捕获我的意图,但不工作的一个例子是这样的:

<a href="{{pathFor '{{type}}'}}">link</a> 

其中的“类型”是“询问”,路径是这样的:

@route "inquiryPost", 
    path: "inquiry/:_id" 
    data: -> 
     Posts.findOne @params._id 
    waitOn: -> 
     [ 
     Meteor.subscribe "posts" 
     ] 

我已经使用辅助传递值到pathFor尝试过,但没有工作,要么:这个在前端

path: -> 
    type = @type 
    "pathFor '#{type}'" 

...:

<a href="{{path}}">link</a> 

我能想到一些变通的,但它似乎对我来说,应该是参数传递一个更简单的方法...

那么,是不是可以在参数传递到第二个值的路径?

回答

4

尝试用

<template name="example"> 
    <a href="{{pathFor type}}">link</a> 
    </template> 

其中Type是帮手

Template.example.examples({ 
type:function(){ 
    return type; 
} 
}) 

你也可以用这个尝试例如

<a href="/myRoute/{{myHelper}}/{{this._id}}">link with many parameters</a> 

在这里,你在那里访问例如在航线

/myRoute/type/rewr8671qew例如

+0

解决了它!谢谢。我最终使用了',它的功能就像一个魅力。 – samcorcos 2015-02-11 18:39:27

+0

@samcorcos awesome = D! – Ethaan 2015-02-11 18:40:06

+0

可以请你张贴完整的工作示例 - 我试图按照你的答案,但你不显示如何设置“类型”的实际价值! – 2015-08-05 13:36:56