繁体   English   中英

单控制器Rails 4 STI模型的DRY路由

[英]DRY Routes for single controller Rails 4 STI Model

我有一个包含20多个子类的STI模型,我需要将它们全部指向路由中的父控制器。 我已经在路线中定义了每个路线,但这确实效率不高,而不是DRY。 这就是现在的样子。

  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

它可能不起作用,因为尚未自动加载MasterModel的子类,因此该方法仅返回一个空数组。 尝试明确要求循环上方的模型,然后看看会发生什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM