hi all
I have a has_many_polymorphs relationship that involves the following classes:
class DigilearningModule < ActiveRecord::Base
has_many_polymorphs :members,
:from => [:digilearning_titles, :lesson_categories,
:lesson_category_groups],
:through => :digilearning_module_memberships,
:dependent => :destroy,
:uniq => true
end
class DigilearningModuleMembership < ActiveRecord::Base
belongs_to :digilearning_module
belongs_to :member, :polymorphic => true
acts_as_list :scope => :digilearning_module
end
The classes listed in the from option have no further associations with DigilearningModule or DigilearningModuleMembership, besides the ones dynamically added by has_many_polymorphs.
As you can see, :uniq is set. This uniqueness is enforced on the has_many relationship created from DigilearningModule to (eg) DigilearningTitle, ie if i add a digilearning_title to a digilearning_module multiple times, then the digilearning_module still only has one digilearning_title. This is fine.
However, the uniqueness isn't enforced in the opposite direction. I can add a digilearning_module to the same digilearning_title multiple times.
Before i go and start trying to monkey patch the has_many_polymorphs code to add this uniqueness to the dynamically created has_many associations it adds to its target classes, can anyone tell me a) if this is normal b) is there an easy fix?
thanks - max