У меня есть пара типов данных, где каждый 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
.