has_many嵌套中的自定义RESTful路由

时间:2009-05-28 13:55:52

标签: ruby-on-rails ruby routing routes

项目有许多任务,并且任务有一个名为'approve'的自定义REST动作。

我希望帮助器看起来像这样 approve_project_task_url

这对我不起作用:

map.resources :projects,
              :has_many => :tasks,
                           :member => { :approve => :post }

2 个答案:

答案 0 :(得分:10)

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

map.resources :projects do |project|
  project.resources :tasks, :member => {:approve => :post}
end

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

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

答案 1 :(得分:1)

 **This is syntax correction to above solution**

map.resources :projects do |project|
  project.resources :tasks, :member => {:approve => :post}
end