Support has_many :through relationships#307
Closed
HashNotAdam wants to merge 2 commits intoErwinM:masterfrom
Closed
Support has_many :through relationships#307HashNotAdam wants to merge 2 commits intoErwinM:masterfrom
HashNotAdam wants to merge 2 commits intoErwinM:masterfrom
Conversation
While there is some support for "through" relationships, when finding the association, the pluralized foreign key is used but join tables use singular key names BREAKING CHANGE Given an assumption is being made that singular tenant/association names are belongs_to and plural names are has_many, acts_as_tenant will no longer attempt to create a new association if one already exists. This will allow those with non-standard associations to manually define the relationship
1a1cd94 to
6d75aa4
Compare
3c1ae11 to
5761008
Compare
ActsAsTenant assumes that it needs to create an association with the tenant unless a record already exists when calling the tenant association. Unfortunately, until the parent record has been persisted, Active Record will not be able to find the association using the tenant association because the join record will not have an ID
5761008 to
06e1b2c
Compare
|
I was thinking about this PR. And for my use case it doesn't really make sense. A user can have multiple tenants, however when I am allowing the user to switch tenants, there is no current tenant selected. So defining the relationship as a normal Maybe I am missing something though. |
Contributor
Author
|
I'm afraid I've dropped Acts As Tenant because I was having too many problems, so I'll just close this |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #283
While previous commits have stated that they support HABTM relationships, acts_as_tenant attempts to set the foreign_key on the record rather than in an association.
This was proven by the new spec in
spec/models/model_extensions_spec.rbwhich fails with the error:This PR makes acts_as_tenant aware that these relationships require a new record to be created on the association (unless one already exists).
BREAKING CHANGE
Given an assumption is being made that singular tenant/association names are belongs_to and plural names are has_many, acts_as_tenant will no longer attempt to create a new association if one already exists. This will allow those with non-standard associations to manually define the relationship