Hello everyone,
Rails documentation mentions that ‘inverse_of’ associations don’t work
with
polymorphic associations. I searched quite a bit online but couldn’t
find a
good reasoning for why that is the case?
My use-case for using inverse_of is to be able to have nested models.
And
the (child) model that I nested, was supposed to be the polymorphic
model.
For example,
BOOK
has_many :pages,
-> { order(position: :asc) },
inverse_of: :book
accepts_nested_attributes_for :pages
PAGE
belongs_to :post, inverse_of: :content_sections
validates :post, presence: true
Now I am going to have other models like Documents, Journals,
Photo-Albums
all of whom need to have *Pages. *This seemed to be a perfect case to
make
a polymorphic relationship between Page and all these other models using
Pageable.
In such a case, I would like to understand why rails polymorphism
doesn’t
play well with inverse_of, and if there are any other solutions to solve
my
use-case? Should I go ahead and make my own version of rails
polymorphism
for this use-case?
Thank you!
*. *