Ruby on Rails:如何检查模型是否存在

时间:2012-08-03 10:25:26

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我想知道如何检查项目中是否已存在模型?

当用户尝试使用相同的型号名称以编程方式创建模型时,需要检查它是否已存在?

3 个答案:

答案 0 :(得分:22)

如果定义了模型,

defined? ModelName将返回“常量”。

答案 1 :(得分:3)

由于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 :(得分:0)

另一种选择是使用exists

如果模型中没有列,则返回false。