在Rails REST中,如何为第三级参数配置第二个参数



我有以下菜单结构,其中包含可以带有注释的项目。我想用只有注释的项目创建菜单的端点,所以…

class Menu < ActiveRecord::Base
  has_many :items
end
class Item < ActiveRecord::Base
   has_many :notes
   belongs_to :menu
end
class Note  < ActiveRecord::Base
  belongs_to :item
end

我已经在routes.rb文件中设置了相关的资源,但如果我想要菜单中只有注释的项目,该怎么办。嵌套路由会被重新计算还是其他什么?我可能会做一些类似的事情:

resources :menus
get '/menus/:menu_id/only_items_with_notes' => 'menus#only_items_with_notes'

由于我们要降低两个级别(在第一个级别下嵌套似乎不受欢迎),但不确定是否建议这样做。有什么想法吗?

只添加一个接一个的参数

get '/menu/:menu_id/:other_parameter/only_items_with_notes' => 'menus#only_items_with_notes'

问候!

最新更新