Many to many and on match destroy in `manage_relationship`
#859 geöffnet am 30.01.2024
Repository-Metriken
- Stars
- (2.412 Sterne)
- PR-Merge-Metriken
- (Durchschn. Merge 6T 6h) (26 gemergte PRs in 30 T)
Beschreibung
I think on_match: :destroy in manage_relationship is incorrect for many_to_many.
Right now it destroys a join resource. Instead it should destroy both a join and a destination like other types of relationships do.
If one wants to destroy only a join resource then they should use :unrelate.
Destroy is implemented correctly for on_missing where :destroy destroys both and :unrelate only join one. (Though there is a mistake in documentation that states that it is possible to pass [:join, :keys] with a long form.) That's the only other case with support for :destroy so it is strange that they are inconsistent.