Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 内的自定义RESTful路由有许多嵌套_Ruby On Rails_Ruby_Routing_Routes - Fatal编程技术网

Ruby on rails 内的自定义RESTful路由有许多嵌套

Ruby on rails 内的自定义RESTful路由有许多嵌套,ruby-on-rails,ruby,routing,routes,Ruby On Rails,Ruby,Routing,Routes,项目有许多任务,任务有一个称为“批准”的自定义RESTful操作 我希望助手看起来像这样批准项目\u任务\u url 这对我不起作用: map.resources :projects, :has_many => :tasks, :member => { :approve => :post } 我曾经有过同样的问题,但我从来没有寻找长期和艰苦的解决办法。相反,我只是选择了从那时起我一直使用的旧款:

项目有许多任务,任务有一个称为“批准”的自定义RESTful操作

我希望助手看起来像这样批准项目\u任务\u url

这对我不起作用:

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

我曾经有过同样的问题,但我从来没有寻找长期和艰苦的解决办法。相反,我只是选择了从那时起我一直使用的旧款:

map.resources :projects do |project|
  project.resources :tasks, :member => {:approve => :post}
end
这将为您提供所需的
approve\u project\u task\u url(@project,@task)
routes/helpers


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

您也可以使用“rake routes”查看创建了哪些路由。这就是修复方法:有很多只是一个捷径,当它并不复杂。
 **This is syntax correction to above solution**

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