Best practice about empty belongs_to association
Solution 1:
Be careful with this in Rails 5...
#belongs_to is required by default
From now on every Rails application will have a new configuration option
config.active_record.belongs_to_required_by_default = true
, it will trigger a validation error when trying to save a model wherebelongs_to
associations are not present.
config.active_record.belongs_to_required_by_default
can be changed tofalse
and with this keep old Rails behavior or we can disable this validation on eachbelongs_to
definition, just passing an additional optionoptional: true
as follows:
class Book < ActiveRecord::Base
belongs_to :author, optional: true
end
from: https://sipsandbits.com/2015/09/21/whats-new-in-rails-5/#belongs_toisrequiredbydefault
Solution 2:
I think it is absolutely normal approach.
You can just leave house_id
with null
value in database for the models which don't belong to other.