Ruby on rails 4 具有不同控制器的干路由

Ruby on rails 4 具有不同控制器的干路由,ruby-on-rails-4,Ruby On Rails 4,我怎样才能弄干像这样的路线 post 'products/sum', to: 'product#sum' post 'products/subtract', to: 'product#subtract' post 'cars/sum', to: 'car#sum' post 'cars/subtract', to: 'car#subtract' post 'houses/sum', to: 'house#sum' post 'houses/subtract', to: '

我怎样才能弄干像这样的路线

  post 'products/sum', to: 'product#sum'
  post 'products/subtract', to: 'product#subtract'
  post 'cars/sum', to: 'car#sum'
  post 'cars/subtract', to: 'car#subtract'
  post 'houses/sum', to: 'house#sum'
  post 'houses/subtract', to: 'house#subtract'
差不多

  post '%w{products,cars,houses}/%{sum subtract}', to: '%w{products,cars,houses}#%{sum subtract}'
我只想知道上述路线是否可以干燥,如果可以,如何干燥。

只有一个选项

%i(products cars houses).each do |item|
  resource item, only: [] do
    post :sum
    post :subtract
  end
end
这就产生了

➜ rake routes | grep -E "(house|car|product)"

     sum_products POST   /products/sum(.:format)         products#sum
subtract_products POST   /products/subtract(.:format)    products#subtract
         sum_cars POST   /cars/sum(.:format)             cars#sum
    subtract_cars POST   /cars/subtract(.:format)        cars#subtract
       sum_houses POST   /houses/sum(.:format)           houses#sum
  subtract_houses POST   /houses/subtract(.:format)      houses#subtract

仅此而已:正在做什么?
资源
将为
:house
:car
:product设置一系列默认路线。
:only`选项允许您指定要使用的默认值的白名单。如果我只想创建/更新/销毁,我可以只做
:[:创建,:更新,:销毁]
。由于您没有指定需要任何东西,
resource
用于获取所需的路由前缀,
only:[]
表示“不要给我任何其他默认资源路由”。