Как я могу выполнить итерации через все Модели в моем приложении для направляющих?

Я хотел бы смочь выполнить итерации и осмотреть все модели в моем приложении для направляющих. В псевдокоде это посмотрело бы что-то как:

rails_env.models.each do |model|  
  associations = model.reflect_on_all_associations(:has_many)  
  ... do some stuff  
end

Мой вопрос состоит в том, как я осматриваю свое приложение для направляющих для получения набора моделей (rails_env.models)?

9
задан ChristopheD 1 May 2010 в 23:13
поделиться

1 ответ

Итерация по всем файлам в `$RAILS_ROOT\app\models' ?

Например

def find_all_models
  # iterate over all files in folder
  folder = File.join(RAILS_ROOT, "app", "models")      
  Dir[File.join(folder, "*")].each do |filename|
    # remove .rb
    model_name = File.basename(filename).sub(/.rb$/, '').capitalize
    model = Kernel.const_get(model_name)
    # .. do something with your model :)
  end
end

Помогает ли это?

2
ответ дан 4 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: