如何从`/`重定向到`/foo/<;id>;`使用FlowRouter和MeteorJS?
在我的场景中,我希望每个访问我们根URL的人都自动重定向到一个URL,该URL包含一个用于协作和即时满足的文档 此处,router.coffee代码为:如何从`/`重定向到`/foo/<;id>;`使用FlowRouter和MeteorJS?,meteor,flow-router,Meteor,Flow Router,在我的场景中,我希望每个访问我们根URL的人都自动重定向到一个URL,该URL包含一个用于协作和即时满足的文档 此处,router.coffee代码为: FlowRouter.route '/', action: -> console.log "I'm home!" FlowRouter.go 'myProject' name: 'myHome' FlowRouter.route '/my/:projectId', subscriptions: (param
FlowRouter.route '/',
action: ->
console.log "I'm home!"
FlowRouter.go 'myProject'
name: 'myHome'
FlowRouter.route '/my/:projectId',
subscriptions: (params) ->
@register 'currentProject', Meteor.subscribe 'project', params.projectId
action: ->
BlazeLayout.render 'myBody'
name: 'myProject'
我希望根URL重定向到/my/:projectId
,但我不确定如何检索自动生成的projectId
,并使用FlowRouter.go
或FlowRouter.redirect
重定向
谢谢你的帮助 由于路由
操作执行时数据可能不可用,
最好是在模板级别重新路由
使用模板[name].onCreated()函数可能是个好主意
并在其中放入类似以下代码的内容:
pID = ... // Get the user project ID from wherever you saved it
var params = {projectId: pID};
// Set the project URL including the :projectId parameter and re-route the user
FlowRouter.go("myProject", params);
@“这个问题你们有答案了吗?”玛丽娅·詹姆斯——还并没有。如果我自己发现了一个解决方案,我会自行回答。@toszter:我认为如果您使用的是FlowRouter.go或FlowRouter.Redirect,您必须指定一个路由器。对于尝试访问根URL(/)的用户,项目ID应该是什么?它是针对所有人的修复还是基于用户名/session var/@我为每个新用户创建一个基线项目(带有projectId)。因此,当有人注册并且他们有一个持久会话时,我想将他们重定向到他们的项目页面,以便他们可以与其他用户协作。我会尝试一下,看看这是否符合我的目标。让你可能不相信,我还没有尝试过。根据到目前为止我对模板arch的了解,我认为您在这里的路径是正确的,使用FlowRouter.getParam('projectd')
提取值是我唯一要添加的部分。此外,此处不需要使用路由级别订阅,因为模板级别就足够了。