我正在對我的rails api。 它有一個模型位置。現在,城市可以有多個名字。像「班加羅爾」(父對象)和「班加羅爾」(兒童對象)。模型是自引用的。我想添加一個約束來阻止我的用戶引用子對象。他們應該始終引用父對象。自引用父對象如果它有子對象
這裏是我的代碼:
class Location < ActiveRecord::Base
belongs_to :location # i.e. may have a parent location
has_many :users, dependent: :restrict_with_error
validates :name, presence: true, uniqueness: true
before_save :lowercase_name
auto_strip_attributes :name, squish: true, nullify: false
enum status: [
:invisible, # default
:major, # a major city
:minor, # a minor city
:child, # i.e. it has a parent that should be used instead
]
end
我怎樣才能做到這一點? 感謝提前:)
你可以舉一個例子,用戶會引用一個子對象嗎? – RSB
沒有。用戶總是需要引用父對象。就像用戶引用Bangalore(子對象)一樣,必須提供約束以便用戶引用「bangaluru」(父對象) – Abhishek