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:[]
表示“不要给我任何其他默认资源路由”。