【发布时间】:2011-06-21 20:37:10
【问题描述】:
我有一个资源丰富的路由,其中嵌套了 post 路由:
resources :groups, :only => [:index, :show] do
post 'send_audit_reminder', :on => :member
end
如果我运行rake routes,这条路线显示得很好:
send_audit_reminder_group POST /groups/:id/send_audit_reminder(.:format)
{:controller=>"groups", :action=>"send_audit_reminder"}
但是,我似乎不知道如何引用给定路由的send_audit_reminder URL。我试过send_audit_reminder_group_path(@group) 和send_audit_reminder_url(@group),它们都给我以下错误:
No route matches {:controller=>"groups", :action=>"send_audit_reminder"}
从rake routes可以看出,确实有匹配这些参数的路由,控制器上也有匹配方法。
如何找到此路由的路径或 URL?我不想对其进行硬编码,因为我们的应用程序部署在同一虚拟主机上的子目录中,因此硬编码的绝对路径不起作用。
我将来会在哪里寻找有关这方面的文档或信息?由于这些路径和 URL 辅助方法是从我的路由生成的,我显然无法查找文档,虽然 rake routes 告诉我路由在那里,但当我尝试获取 URL 时它似乎不在那里.
【问题讨论】: