非资源嵌套的命名路由

我正在尝试生成一个用户点击确认其帐户的链接。 我想要这个:

/users/:id/confirm/:code 

我在我的路线文件中有这个:

 resources :users do member do get 'confirm/:confirmation_code', :action => 'confirm' end end 

我试过了:

 user_confirm_path(@user, @confirmation_code) confirm_user_path(@confirmation_code, @user) 

和其他许多人一样,但似乎无法找到正确的人。 我想我总是可以自己生成链接url,但这似乎不是轨道方式。

这是我的rake路线输出:

 rake routes Prefix Verb URI Pattern Controller#Action GET /users/:id/confirm/:confirmation_code(.:format) users#confirm 

但是省略了我正在寻找的东西

我不会马上给出解决方案,但我会给你自己解决问题的钥匙:(“ 给一个人一条鱼,你喂他一天。教一个人钓鱼,你喂他一个一生。 “)

您可以运行以下命令列出应用程序中的所有可用路由以及相应的帮助程序:

 rake routes 

在我的应用程序中,有很多路线我无法一次看到它们。 所以我添加一个| grep something | grep something只选择我需要的部分。 在你的情况下,它将是这样的:

 rake routes | grep confirm 

你最终可能会读取如下输出:

 confirm_user_path GET /users/:id/confirm/:confirmation_code 

谷歌搜索“ rails 4.0.2 url helper ”,第一个链接是Github问题: https : //github.com/rails/rails/issues/12751

我有另一个类似的问题,在这里得到了解答: 插入一个命名的路由。 代替 /

对这个问题使用相同的答案解决了它。