关于外键的Rails方法



我想删除一个公司,但是在模型中没有dependent: destroy。是否有一个ActiveRecord方法在Rails上知道哪些表连接到特定的外键?

使用ActiveRecord::reflect_on_all_associations和array# reject可以过滤所有没有:dependent键的has_many关联

Company.
reflect_on_all_associations(:has_many).
reject { |association| association.options[:dependent] }

可以使用plural_name属性

获取表名
Company.
reflect_on_all_associations(:has_many).
reject { |association| association.options[:dependent] }.
map(&:plural_name)

最新更新