我有一个模型User在user.rb中定义了许多关系,比如
has_many :posts, :dependent => :destroy
has_many :comments, :dependent => :destroy
... and others
如何以编程方式查找所有此类关系?这是我希望能够通过Rails找到所有子模型,如Post,Comment等,而不必手动查看user.rb文件。
我该怎么做?
答案 0 :(得分:4)
您想要做的事情被称为“反思” - 您的软件会在运行时,在运行中发现更多关于自身的信息。
在Rails中,ActiveRecord支持此功能。请参阅Reflection方法。
根据文档添加,您需要调用
associations = User.reflect_on_all_associations(:has_many)
您将获得一系列对象,这些对象将为您提供有关User类的所有has_many关联的信息。