Search code examples
meteoriron-router

Iron Router OnBefore Hook with Params URL Not Calling Function


I am looking to restrict access to a page using iron router, but the before function doesn't seem to be running.

# Limit which challenges can seen to members.
isMemberHook = () ->
    challenge = Challenges.findOne _id: @params._id
    if Meteor.userId() in challenge.members
        @next()
    else
        @redirect '/'

Router.onBeforeAction isMemberHook,
    only: ['/challenge/:_id']

Solution

  • Turns out that for routes with "/" you need to use ".".

    So in this case I used:

    only: ["challenge.:_id"]
    

    Problem solved!