I have a situation where each record in a table may have a relation to a record in a second table, or it may have “None.” What is a clean way to handle this kind of thing?
You could just use optional: true
in your relationship declaration - ActiveRecord::Associations::ClassMethods
However, if those two types of record in the same table are two different sub-types, you could also take a look at the delegated type pattern - ActiveRecord::DelegatedType
Having been in one-sided situations at times, my heart goes out to anyone feeling trapped in a relationship with conditions. Everyone deserves to be loved for who and what they are.
(Or wait … am I in the unconditional love message board here? Cripey, this is about database things … scratch that last part …)
– composing himself properly –
uhumm … yes … it’s what @matteeyah had said – let’s say that you have Customer
and Country
and sometimes folks don’t supply their whereabouts … the belongs_to
would look like:
class Customer < ApplicationRecord
belongs_to :country, optional: true
end