Fix belongs_to reify for associations that use a different foreign_key #938
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Paper trail currently fails to reify belongs to associations that use a non-standard foreign key. You can see this by spinning up an example rails app:
and then creating a few models and attempting to do
dog.versions.last.reify(belongs_to: true)
. You get:PaperTrail::Reifiers::BelongsTo
, I believe, is checking the wrong association method to get its foreign key. It can just checkassoc.foreign_key
instead ofassoc.association_foreign_key
which I believe is designed forhas_many
situations. Happy to provide any other information or do any extra work it takes to get this merged in. Also, I'm not sure if you guys do backports, but my work is currently using paper trail 5, so it would be great to get it merged in there as well if possible!