如果它具有子对象,则自引用父对象

时间:2016-05-17 07:01:20

标签: ruby-on-rails self-reference

我正在处理 rails api 。 它有一个模型位置。现在,城市可以有多个名字。喜欢" Bangalore"(父对象)和" Bangaluru"(子对象)。模型是自引用的。我想添加一个约束来阻止我的用户引用子对象。他们应该始终引用父对象。

这是我的代码:

Arrays.copyOf()

我怎样才能做到这一点? 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

我假设你parent_id表中有一个locations字段,你可以这样做

belongs_to :parent_location, class_name: 'Location', foreign_key: 'parent_id'

现在,user.location.parent_location会为您提供父位置,或者您可以

location = user.location
location = location.parent_location_present? ? location.parent_location : location

在位置模型中,

def parent_location_present?
  parent_location.present?
end

希望这有帮助!