如何判断对象是否有父对象?

时间:2015-09-17 21:48:45

标签: ruby-on-rails

只是想知道是否有一个简单的方法。

我知道你可以直接用tInstance找到父母 。但是,如果有@object.parent

这样的事情,我感到很困惑

就我而言,@object.parent.exists?可以是任何模型。我想提出一个条件,以便

@object

可能是if @object.parent.exists? ... do something ... else ... do something else ... end 存在的情况,因为我的@object.other_parent可以是任何内容。

3 个答案:

答案 0 :(得分:1)

首先,如果您将parent设置为ActiveRecord关系,则应该可以调用:

if @object.parent

但是,如果您引用的是realms of Superclassing,那么您的对象将继承自"父母"在课堂上,您必须使用类似superclass属性的内容:

if @object.superclass

我不相信exists适用于此处。 parent对象将存在与否。如果它不存在,则根本无法调用它。

答案 1 :(得分:0)

我猜测父对象是由对象模型上的parent_id定义的。你可以在该属性上调用.nil?来检查它是否存在

答案 2 :(得分:0)

实现这一目标的方式显然是这样的:

@object.attributes.has_key? "parent_id"

如果名称为“parent”的父项存在,则返回true;如果不存在,则返回false