10

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

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

4

3 回答 3

24

defined? ModelName如果定义了模型,将返回“常量”。

于 2012-08-03T10:29:37.370 回答
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
于 2016-06-06T12:05:08.070 回答
0

另一种选择是使用存在

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

于 2020-06-22T20:02:57.367 回答