Ruby on Rails: как проверить, существует ли модель

Я хочу знать, как проверить, существует ли модель в проекте или нет?

Когда пользователь пытается создать модель программно с использованием одного и того же имени модели, нужно проверить, существует ли она или нет?

Ответ 1

defined? ModelName вернет "константу", если определена модель.

Ответ 2

Так как defined? является проблематичным (см. комментарий @Jiggneshh Gohel), возможно, вы можете проверить имена файлов в директории models.

files = Dir[Rails.root + 'app/models/*.rb']
models = files.map{ |m| File.basename(m, '.rb').camelize }

models.include? "User" => true