It sounds like you should avoid has_and_belongs_to_many since you are
tracking attributes of the join relationship. Maybe something like
this:
character has_many objective_assignments
character has_many objectives, :through => objective_assignments
character has_many quest_assignments
character has_many quests, :through => objective_assignments
Does that seem right?
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.