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
Ответ 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