В Rails 5 при указании belongs_to
в модели, невозможно будет сохранить запись без наличия ассоциированного объекта.
Раньше эта опция также существовала, и теперь она включена по дефолту.
Рассмотрим пример:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
В Rails 4.x добиться такого поведения можно, указав дополнительную опцию в вызов метода
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Вернуть дефолтное поведение в Rails 5 можно, передав опцию optional: true
в вызове метода
1 2 3 4 5 6 |
|
Для того чтобы вернуть старое поведение для всего проекта, идем в папку initializers
нашего проекта,
и видим что в Rails 5 появился новый файл под названием active_record_belongs_to_required_by_default.rb
И именно в нем видим настройку, которая отвечает за новое поведение. Мы можем установить ее в false
,
чтобы отключить его.
1
|
|
Напомню, что данный файл создается при новой установке Rails 5, в том случае если вы обновляете Rails до версии 5, создайте его вручную.