ActiveRecord和might belongs_to

时间:2011-07-22 17:41:33

标签: ruby activerecord

我有一对数据类型,其中每个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_id通常会有效,但我不确定当NULL为{{1}}时情况会如何。

1 个答案:

答案 0 :(得分:2)

你是对的。 Y应该有belongs_to :x

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

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