has_many嵌套中的自定义RESTful路由

Cha*_*hap 2 ruby routing routes ruby-on-rails

项目有许多任务,任务有一个名为"批准"的自定义REST动作.

我期待助手看起来像这个approve_project_task_url

这对我不起作用:

map.resources :projects,
              :has_many => :tasks,
                           :member => { :approve => :post }
Run Code Online (Sandbox Code Playgroud)

tsd*_*own 10

我曾经遇到过同样的问题,但我从未长时间努力寻找解决方案.相反,我只是选择了旧款式,从那以后我一直用它:

map.resources :projects do |project|
  project.resources :tasks, :member => {:approve => :post}
end
Run Code Online (Sandbox Code Playgroud)

那将为您提供所需的approve_project_task_url(@project, @task)路线/帮助.

我想你可能已经知道这种方法了吗?如果是这样,你不喜欢它,希望我会从你的其他回复中学到一些东西:)

  • 您还可以使用"rake路线"查看已创建的路线. (3认同)