我正在尝试生成一个链接,供用户点击确认其帐户。我想要这个:
/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)
和其他许多人似乎无法找到正确的人。我想我总是可以自己生成链接网址,但这似乎不是轨道方式。
这是我的佣金路线输出:
rake routes
Prefix Verb URI Pattern Controller#Action
GET /users/:id/confirm/:confirmation_code(.:format) users#confirm
但忽略了我实际上正在寻找的东西
答案 0 :(得分:1)
我不会马上给出解决方案,但我会给你自己解决问题的钥匙:(“给一个人一条鱼,你喂他一天。教一个人钓鱼你喂他一辈子。“)
您可以运行以下命令列出应用中的所有可用路由以及相应的帮助程序:
rake routes
在我的应用程序中,有很多路线我无法一次看到它们。所以我添加| grep something
只选择我需要的部分。在你的情况下,它会是这样的:
rake routes | grep confirm
你最终可能会阅读如下输出:
confirm_user_path GET /users/:id/confirm/:confirmation_code
Google搜索“ rails 4.0.2 url helper ”,第一个链接是Github问题:https://github.com/rails/rails/issues/12751
答案 1 :(得分:0)
我还有另一个类似的问题在这里得到解答:Named routes inserting a . instead of a /
使用相同的答案解决了这个问题。