У меня есть модель STI, которая имеет более 20 подклассов, и мне нужно указать все их на родительский контроллер на моих маршрутах. Я определял каждый из них в маршрутах, но это действительно неэффективно, а не СУХОЙ. Вот как это выглядит сейчас.DRY Маршруты для одного контроллера Rails 4 STI Model
resources :red_master_models, :controller => 'master_models'
resources :green_master_models, :controller => 'master_models'
resources :yellow_master_models, :controller => 'master_models'
resources :purple_master_models, :controller => 'master_models'
resources :orange_master_models, :controller => 'master_models'
resources :grey_master_models, :controller => 'master_models'
resources :indigo_master_models, :controller => 'master_models'
resources :blue_master_models, :controller => 'master_models'
Мне кажется, что я должен быть в состоянии зацикливать все подклассы и определить его более просто. Это то, что я пробовал ... но это не работает.
MasterModel.subclasses.each do |master_model|
resources master_model.name.underscore.to_sym, :controller => 'master_models'
end
Каков синтаксис, требующий моих моделей? – NothingToSeeHere
Я искал, как явно требуют модели, и я в недоумении. У вас есть понимание? – NothingToSeeHere
Извините, не видел твой первый комментарий. Только для целей тестирования теории я бы сделал это сначала: 'puts 'here' MasterModel.subclasses.each do | master_model | puts master_model.to_s Ресурсы master_model.name.underscore.to_sym,: controller => 'master_models' end ' – Brad