Таблица реляционной базы данных, которая может иметь или не иметь отношения с другой таблицей - PullRequest
0 голосов
/ 15 мая 2018

В моем приложении rails есть две таблицы Plan и Subscription. Plan таблица имеет has_many с Subscription и Subscription имеет belongs_to с Plan.

Я хочу создать Subscription, который не будет принадлежать Plan. Могу ли я создать Subscription без указания plan_id? Или я должен использовать has_many_through?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Лично мне действительно не нравится обязательное значение по умолчанию own_to в rails 5. Вы можете добавить эту строку в application.rb. Вам нужно будет добавить валидацию, когда вы хотите, чтобы принадлежал принадлежность к нему.

config.active_record.belongs_to_required_by_default = false
0 голосов
/ 15 мая 2018

Да, вы можете создать Subscription без указания Plan.Если вы находитесь на Rails 5, вам нужно будет сделать:

belongs_to :plan, optional: true

В соответствии с документами :

Если вы установите опцию: необязательный параметр вистина, то присутствие связанного объекта не будет проверено.По умолчанию этот параметр имеет значение false.

...