ActiveRecord and might belongs_to



我有一对数据类型,其中每个X可能有多个Y,每个Y最多有一个X

在数据库中,我将其可视化为
 CREATE TABLE xs (
   id INTEGER NOT NULL PRIMARY KEY
 );
 CREATE TABLE ys (
   id INTEGER NOT NULL PRIMARY KEY,
   x_id INTEGER FOREIGN KEY REFERENCES xs (id) -- may be NULL
 );

使用ActiveRecord,对我来说很容易,每个X has_many Y,但我如何表达,每个Y最多有一个X ?我的印象是belongs_to通常会工作,但我不确定x_idNULL时的情况会如何。

你说得对。Y应该有一个belongs_to :x

如果x_id不存在,y.x将返回nil

拥有belongs_to并不意味着如果值不存在,一切都会爆炸。

最新更新