Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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 具有多个类别的Rails嵌套路由_Ruby On Rails_Ruby_Ruby On Rails 3_Ancestry - Fatal编程技术网

Ruby on rails 具有多个类别的Rails嵌套路由

Ruby on rails 具有多个类别的Rails嵌套路由,ruby-on-rails,ruby,ruby-on-rails-3,ancestry,Ruby On Rails,Ruby,Ruby On Rails 3,Ancestry,我正在尝试找出如何获得嵌套路由,如下所示: match '/:category_id/:subcategory_id/:id', via: 'get', controller: 'categories', action: 'index', as: 'category' 子类别和id不应该是必需的。应该可以得到: 类别索引 子类别索引 身份证显示 类别和子类别应使用相同的控制器操作。类别和子类别当然使用相同的祖先/树模型 我有点迷路了。任何提示都很好 听起来嵌套资源可以为您提供大部分所需:

我正在尝试找出如何获得嵌套路由,如下所示:

match '/:category_id/:subcategory_id/:id', via: 'get', controller: 'categories', action: 'index', as: 'category'
子类别和id不应该是必需的。应该可以得到:

  • 类别索引
  • 子类别索引
  • 身份证显示
类别和子类别应使用相同的控制器操作。类别和子类别当然使用相同的祖先/树模型


我有点迷路了。任何提示都很好

听起来嵌套资源可以为您提供大部分所需:

resources :category do 
  resources :subcategory 
end 
你考虑过/尝试过这个吗

有关嵌套资源的更多信息,包括有关如何限制公开哪些路由的一些见解:

听起来嵌套资源可以满足您的大部分需求:资源:类别资源:子类别结束您考虑过/尝试过这个吗?嗯,这会给我一个类似/categories/my categories/subcategories/my subcat的路径,创建类似子类别的路径听起来很复杂(“bla”和“bla1”)如果没有设置子类别呢?啊。。。好啊好吧,最后一个问题不是这个解决方案的问题,但它可能是你正在寻找一个不同的解决方案。不幸的是,我现在没有时间给你。一个提示:你可以实现我的建议(或它的一些变体),然后从命令行运行
rake routes
,看看它是否能产生你希望的结果。