什么是非资源路由的link_to路径?

时间:2012-02-19 04:26:41

标签: ruby-on-rails ruby ruby-on-rails-3

我有一条非资源路由,在路由中使用SHA令牌。这是我的routes.rb文件:

match 'permissions/confirm/:token' => 'permissions#confirm'

我可以访问生成的路由,但我不知道传递给link_to帮助器的内容。

以下是我正在使用的link_to,它不起作用:

<%= link_to "Give permission", confirm_permission_path(:token => @permission.token) %>

思考?

2 个答案:

答案 0 :(得分:12)

:as键添加到您的路线,例如match 'permissions/confirm/:token' => 'permissions#confirm', :as => :confirm_permissions

然后<%= link_to "Give permission", confirm_permissions_path(:token => @permission.token) %>

答案 1 :(得分:5)

您始终可以使用rake routes来确定路径的名称。我一直仔细检查那个rake任务的输出,以确保我使用正确的restful或非restful路径。