ActiveRecord и может принадлежать_ - PullRequest
1 голос
/ 22 июля 2011

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

2 голосов
/ 22 июля 2011

Ты прав. Y должен иметь belongs_to :x.

Если x_id отсутствует, y.x вернет nil.

Наличие own_to не означает, что если значение отсутствует, все взорвется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...